NGINX 常用配置
隐藏版本号
1
|
http {
|
nginx Basic 认证
-
生成用户密码
1
htpasswd -c /usr/local/nginx/conf/nginx.passwd.db admin
-
更新密码
1
htpasswd /usr/local/nginx/conf/nginx.passwd.db admin
-
配置内容
1
2
3
4location / {
auth_basic "View is cheap,show me the password!";
auth_basic_user_file nginx.passwd.db;
}
限制$http_x_forwarded_for
1
|
set $allow false;
|
限制请求方法
1
|
if ($request_method !~ ^(GET|POST)$ ) {
|
过滤特殊UA
if ($http_user_agent ~* sqlmap|wget|curl) {
return 403;
}
图片防盗链
1
|
location /images/ {
|
- “Referer”请求头为指定值时,内嵌变量$invalid_referer被设置为空字符串, 否则这个变量会被置成”1”。查找匹配时不区分大小写。
- valid_referers:验证referer
- none: 允许referer为空,
- blocked: 允许不带协议的请求.
配置反向代理
1
|
http {
|
nginx开启keepalive
1
|
upstream realserver {
|
-
keepalive: 指定每个nginx worker可以保持的最大连接数量为1024,默认不设置,即nginx作为client时keepalive未生效。
-
proxy_http_version 1.1: 开启keepalive要求HTTP协议版本为HTTP 1.1。
-
proxy_set_header Connection “”: 为了兼容老的协议以及防止http头中有Connection close导致的keepalive失效,这里需要及时清掉HTTP头部的Connection。
-
keepalive_requests: 设置可通过一个保持连接提供服务的最大请求数。在发出最大请求数后,连接将关闭。
-
keepalive_timeout:
- upstream中的keepalive_timeoute是ngx_http_upstream_module模块中的功能,是1.15.3后的新特性,设置空闲保持连接的超时时间。
- upstream外的keepalived是ngx_http_core_module模块中的功能,第一个参数是保持活动的客户机连接将在服务器端保持打开状态的超时时间。0表示禁用保持活动的客户端连接。可选的第二个参数在”Keep-Alive: timeout=time”响应头字段中设置一个值。两个参数可以不同。
nginx开启目录查看
1
|
server {
|
-
autoindex_exact_size: 为on(默认)时显示文件的确切大小,单位是byte;改为off显示文件大概大小,单位KB或MB或GB
-
autoindex_localtime: 为off(默认)时显示的文件时间为GMT时间;改为on后,显示的文件时间为服务器时间
浏览器不显示文件内容直接下载文件
1
|
if ($request_filename ~* ^.*?\.(txt|pdf)$) {
|
nginx获取用户真实IP
1
|
set_real_ip_from 10.0.0.0/8; #真实服务器上一级代理的IP地址或者IP段,可以写多行。
|
- X-Forwarded-For 变量,是squid开发的,用于识别请求通过了哪些HTTP代理或负载平衡器,记录相应IP地址列表的非rfc标准,如果设置了X-Forwarded-For,那么每次经过proxy转发请求后都会有记录。
nginx 强制跳转https
1
|
if ( $scheme = http ){
|
防恶意抓取
1
|
http {
|
- geo设置白名单
nginx健康检查机制
check_http_expect_alive [ http_2xx | http_3xx | http_4xx | http_5xx ]
返回指定HTTP code,符合预期就算检测成功
通过nginx查看txt文本文件乱码
- 文件后缀必须是.txt而不是.html,否则换行显示会有问题
1
2
3server:
default_type 'text/html';
charset utf-8,gbk;
nginx代理文件下载以及时间显示问题
1
|
location / {
|
nginx try_files
nginx location @
nginx缓存配置
nginx 根据uuid灰度
nginx限制并发连接数
nginx限制请求频率
nginx存活检测
nginx upstream backup机制
1
|
rewrite_log on;
|
相关资料
时来天地皆同力,运去英雄不自由