标签:Nginx

Nginx 配置忽略文件名大小写

文件从Windows转移到Linux,由于Windows下文件名不区分大小写,但是linux区分,导致,一些大写的文件名url打开报404错误。 解决办法: 1.将文件夹以及文件都改为小写,批量修改命令如下: # find -exec sh -c ‘rm -f “$0” `echo “$0” | tr “[A-Z]” “[a-z]”` > /dev/null 2>&1’ {} \; 2.使用Lua模块实现大小写转化 Lua安装请参考 http://www.123admin.c…

阅读全文 »

Nginx 配置 WebSocket 反向代理

在nginx.conf配置添加map指令 map $http_upgrade $connection_upgrade { default upgrade; ” close; } 配置虚拟主机 upstream websocket { server 1.2.3.4:80; } location ^~ /websocket { proxy_pass http://websocket; proxy_http_version 1.1; proxy_set_header Upgrade $http_up…

阅读全文 »

nginx利用自带模块添加统计代码的方法

方法一:利用ngx_http_sub_module模块中的sub_filter指令 sub_filter   </body>   ‘<div style=”display:none;”><script src=”xxxxxxx” language=”JavaScript”></script></div></body>’; 方法二:利用ngx_http_addition_module模块向响应内容中追加代码,请参考官方文档 h…

阅读全文 »

Nginx 安装第三方多规则过滤模块

由于nginx官方的–with-http_sub_module模块只能使用一条过滤规则,因此在需要过滤更多规则的时候就需要安装ngx_http_substitutions_filter_module这个第三方模块,安装步骤如下: 安装git # yum -y install git 下载源码 # git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git 编译 # ./configure …

阅读全文 »

Nginx SSL + Tomcat,后端Tomcat取到https协议的解决方案

在代理模式下,Tomcat 如何识别用户的直接请求(URL、IP、https还是http )? 在透明代理下,如果不做任何配置Tomcat 认为所有的请求都是 Nginx 发出来的,这样会导致如下的错误结果: request.getScheme() //总是 http,而不是实际的http或https request.isSecure() //总是false(因为总是http) request.getRemoteAddr() //总是 nginx 请求的 IP,而不是用户的IP request….

阅读全文 »

Nginx ReWrite 规则

ReWrite语法 last – 基本上都用这个Flag。 break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301 1、下面是可以用来判断的表达式: -f和!-f用来判断是否存在文件 -d和!-d用来判断是否存在目录 -e和!-e用来判断是否存在文件或目录 -x和!-x用来判断文件是否可执行 2、下面是可以用作判断的全局变量 例:http://localhost:88/test1/te…

阅读全文 »

Nginx Location配置总结

语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~* 开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到。 多个location配置的…

阅读全文 »

Nginx开启stub_status模块监控

Nginx中的stub_status模块主要用于查看Nginx的一些状态信息 1. 查看已安装的Nginx是否包含stub_status模块 # nginx -V 注意是-V而不是-v,-v只显示版本号,如果看到有http_stub_status_module,说明已安装。 2. 创建Nginx基本验证 # htpasswd -c /etc/nginx/htpasswd.users admin 3.配置nginx,在其中加入如下代码: location /status { stub_status…

阅读全文 »