01. 隱藏 nginx 版本信息
修改nginx主配置文件實(shí)現(xiàn)優(yōu)化
在http模塊下添加server_tokens off;
02. 修改 nginx 版本信息
修改版本信息需要編譯安裝 修改nginx源碼包的配置文件
nginx-xxx/src/core/nginx.h
nginx-xxx /src/http/ngx_http_header_filter_module.c
nginx-xxx /src/http/ngx_http_special_response.c
修改 /src/core/nginx.h
# define NGINX_VERSION "8.0.12"
# define NGINX_VER "tomcat/" NGINX_VERSION
修改 /src/http/ngx_http_header_filter_module.c
第 49 行
static u_char ngx_http_server_string[] = "Server: tomcat" CRLF;
修改 /src/http/ngx_http_special_response.c
36 行
"<hr><center>tomcat</center>" CRLF
03. 修改 nginx 服務(wù) work_processes 進(jìn)程默認(rèn)用戶信息
修改主配置文件參數(shù)實(shí)現(xiàn) 修改nginx默認(rèn)用戶
采用編譯安裝方式實(shí)現(xiàn)修改默認(rèn)用戶
編譯安裝時(shí)添加參數(shù)
configure user www
指定默認(rèn)用戶為www
04. 優(yōu)化 nginx 服務(wù)上傳文件限制大小
修改nginx主配置文件 設(shè)置客戶端請(qǐng)求報(bào)文主體最大尺寸
client_max_body_size # 指定用戶上傳文件最大體量
特殊環(huán)境配置 需要上傳大文件場(chǎng)景
client_header_buffer_size 204800k;
large_client_header_buffers 4 10240k;
client_max_body_size 204800k;
http模塊添加
client_max_body_size 10m;
# 文件大小限制,默認(rèn)1m
05. nginx 服務(wù)圖片等信息防盜鏈解決辦法
根據(jù)HTTP referers實(shí)現(xiàn)防盜鏈
Nginx圖片及目錄防盜鏈解決方案
用戶從哪里跳轉(zhuǎn)過(guò)來(lái)的(通過(guò)域名)referers 控制
根據(jù)cookie防盜鏈
通過(guò)加密變換訪問(wèn)路徑實(shí)現(xiàn)防盜鏈
在產(chǎn)品設(shè)計(jì)上解決盜鏈方案
參考文獻(xiàn):
https://blog.csdn.net/Freshair_x/article/details/80531536
06. nginx 站點(diǎn)目錄文件及目錄權(quán)限優(yōu)化
只將用戶上傳數(shù)據(jù)的目錄設(shè)置為755捺僻,用戶和組使用nginx
其余目錄和文件為755/644赘方,用戶和組使用root
07. 利用 nginx 限制訪問(wèn)請(qǐng)求
利用 $request_method
限制請(qǐng)求方法
08. nginx 放爬蟲優(yōu)化
利用robots.txt機(jī)器人協(xié)議防止爬蟲(君子協(xié)議)
在網(wǎng)站站點(diǎn)目錄下面桩卵,放robots.txt文件利用
$http_user_agent
變量阻止爬蟲代理訪問(wèn)(2種方法)
Nginx防爬蟲優(yōu)化(spider|bot)
利用程序開發(fā)驗(yàn)證碼信息荣刑,阻止進(jìn)行爬蟲
09. 使用普通用戶啟動(dòng) nginx
(nginx 監(jiān)牢模式 keep in jail)
利用nginx -c
參數(shù)啟動(dòng)nginx多實(shí)例, 使master進(jìn)程讓普通用戶管理
普通用戶無(wú)法使用1-1024端口 所以我們要80 -- 轉(zhuǎn)發(fā)iptables -- 8080端口
10. 控制 nginx 并發(fā)連接數(shù)
利用limit_conn_zone
參數(shù)和$binary_remote_addr
變量限制nginx單IP地址并發(fā)連接數(shù)
利用limit_conn_zone
參數(shù)和$server_namer
變量限制nginx虛擬主機(jī)總連接數(shù)
11. 控制客戶端訪問(wèn)請(qǐng)求nginx的速率
1imit_req_zone $binary_remove_addr zone=one:10m rate=1r/s;1
以請(qǐng)求的客戶端IP作為key值伺帘,內(nèi)存區(qū)域命名為one卒密,分配10m內(nèi)存空間,訪問(wèn)速率限制為1秒1次請(qǐng)求