nginx结合autoindex美化索引页面
前言 利用 nginx的 autoindex 模块,通过修改 nginx.conf 配置文件中的 add_after_body配置项来实现美化默认的索引页面。 原理:通过 js将原生界面的 dom元素提取出来,然后重新布局添加样式,最后添加到页面中并移出原来的 dom元素。 效果图 美化方案 Nginx-Fancyindex插件:但是需要自己编译nginx,比较麻烦 autoindex-add_after_body:可以非常方便的进行美化,只需要在nginx配置中添加一行 主要配置参考 这里将autoindex.html放在了nginx的根目录 123456789101112131415161718192021222324server { ...... charset utf-8; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header cache-contro...
Nginx配置gRPC协议
Nginx配置gRPC请求Nginx 在 1.13.10 中,新增了对gRPC的原生支持。有了对 gRPC 的支持,NGINX 就可以代理 gRPC TCP 连接,还可以终止、检查和跟踪 gRPC 的方法调用。 Nginx需要引入模块:--with-http_ssl_module --with-http_v2_module 为已经安装的Nginx添加新的编译模块: 进入解压的Nginx目录 执行命令:./configure --with-http_ssl_module --with-http_v2_module 执行命令:make && make install。执行make install时会将原有的文件替换掉,且会备份之前的文件 使用基础使用方式在客户端和服务器端之间插入 NGINX,NGINX 为服务器端的应用程序提供了一个稳定可靠的网关。 NGINX 使用 HTTP 服务器监听 gRPC 流量,并使用 grpc_pass 指令代理流量。 为 NGINX 创建以下代理配置,在端口 80 上侦听未加密的 gRPC 流量并将请求转发到端口 50051 上...
Nginx给网站添加用户认证配置
Nginx给网站添加用户认证配置( Basic HTTP authentication) 说明:ngx_http_auth_basic_module模块实现让访问者只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。nginx的http auth模块以及Apache http auth都是很好的解决方案。 默认情况下nginx已经安装了ngx_http_auth_basic_module模块。 Nginx认证配置实例生成认证文件123# printf "test:$(openssl passwd -crypt 123456)\n" >> /home/htpasswd# cat /home/htpasswd test:xyJkVhXGAZ8tM **注意:**这里账号:test,密码:123456,记住认证文件路径 配置网站conf文件123456789101112131415server{ listen 80; server_name www.moer...
Nginx日志配置详解
前言Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。本文将详细描述一下如何配置Nginx日志。 设置access_log访问日志主要记录客户端的请求。客户端向Nginx服务器发起的每一次请求都记录在这里。客户端IP,浏览器信息,referer,请求处理时间,请求URL等都可以在访问日志中得到。当然具体要记录哪些信息,你可以通过log_format指令定义。 语法12access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; # 设置访问日志access_log off; # 关闭访问日志 path 指定日志的存放位置。 format 指定日志的格式。默认使用预定义的combined。 buffer 用来指定日志写入时的缓存大小。默认是64k。 gzip...
CentOS7下使用yum安装Nginx
下载对应当前系统版本的nginx包(package)安装 openssl 、 zlib 、 gcc 、pcre依赖1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel 安装 pcre 依赖:1234wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gztar -xvf pcre-8.45.tar.gz && cd pcre-8.45./configuremake && make install 下载nginx的rpm包:1wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 建立nginx的yum仓库1rpm -ivh nginx-release-centos-7-0.el7.ngx.noar...
k8s环境下,nginx做websocket负载的方案梳理
websocket server websocket server demo:https://github.com/mrniko/netty-socketio-demo Dockerfile 123456FROM maven:3.8.5-openjdk-17 as buildWORKDIR /user/src/appCOPY . .RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && mvn clean package -DskipTestsCMD mvn exec:java -f pom.xml 部署(保证pod可以被独立访问)statefulset方式 使用statefulset+headless service的方式对pod进行独立访问 DNS: pod名称-编号.headless名称.namespace.svc.cluster.local 123456789101112131415161718192021222324252627282930313233343536...
nginx-sticky安装及负载均衡使用
转自: https://blog.csdn.net/yyysylvia/article/details/80198021 sticky的工作原理Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route 客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。 后端服务器处理完请求,将响应数据返回给nginx。 此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash值 客户端接收请求,并保存带route的cookie。 当客户端下一次发送请求时,会带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。 nginx+sticky安装nginx安装最好采用编译安装的方式,这样可以很方便的找到nginx的安装位置,方便添加nginx-sticky模块。如果之前已经编译安装过nginx,...
负载均衡配置和算法原理
转自:https://tinychen.com/20200319-nginx-03-load-balancing/ nginx的负载均衡配置,包括http、tcp和udp负载均衡,以及Round robin、Least connections、Least time(Nginx Plus专属)、Generic hash、Random、IP hash(HTTP模块专属)的原理分析。 1、http负载均衡我们先来看一小段配置文件 12345678910upstream backend { server 10.0.0.1:80 weight=1; server nginx.example.com:80 weight=2; }server { location / { proxy_pass http://backend; }} 这是一个简单的使用upstream模块对http服务进行指定权重的负载均衡的配置文件,一般存放在nginx目录下的conf.d文件夹中。 server可以使用Unix socket、...
Nginx反向代理中proxy_set_header参数说明
转自: https://www.cnblogs.com/kevingrace/p/8269955.html Nginx proxy_set_header:**即允许重新定义或添加字段传递给代理服务器的请求头。该值可以包含文本、变量和它们的组合。**在没有定义proxy_set_header时会继承之前定义的值。默认情况下,只有两个字段被重定义: 12proxy_set_header Host $proxy_host;proxy_set_header Connection close; 如果启用缓存,来自之前请求的头字段“If-Modified-Since”, “If-Unmodified-Since”, “If-None-Match”, “If-Match”, “Range”, 和 “If-Range” 将不会被代理服务器传递。一个不会变化的“Host”头请求字段可通过如下方式被传递: 1proxy_set_header Host $http_host; 然后,当字段不在请求头中就无法传递了,在这种情况下,可通过设置Host变量,将需传递值赋给Host变量 1proxy...
nginx中$host,$http_host和$proxy_host区别
nginx中$host、$http_host和$proxy_host区别 变量 是否显示端口 值 $host 不显示端口 浏览器请求的ip,不显示端口 $http_host 端口存在则显示 浏览器请求的ip和端口号 $proxy_host 默认80端口不显示,其它显示 被代理服务的ip和端口号(当proxy_pass配置的是upstream, 则$proxy_host是不生效的) 配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com); 为了解决跨域问题,配置nginx反向代理如下: 1234567...proxy_set_header Host $host;...location ^~ /api/ { rewrite "^/api/(.*)$" /$1 break; proxy_pass http://www.b.com;} 问题:这样配置完成后,接口报404问题。解决:方案一:将proxy_set_header注释掉方案二:修改反向代理配置,...
