Nginx 是一款開源的高性能 Web 服務器,同時支持反向代理和郵件代理功能,採用 BSD 許可協議分發。其核心優勢在於內存佔用少和高併發處理能力,能有效支撐大流量應用場景。本文將系統介紹Nginx服務器10項關鍵配置優化。
Nginx結構
一、基礎安全策略
1. 版本升級
# 查看當前版本(安全加固起點)
nginx -v
# 源碼編譯升級(推薦)
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
# 精簡模塊示例(禁用非必要功能)
./configure --without-http_autoindex_module # 關閉目錄列表
make && sudo make install
注意:
- 生產環境禁用
--without-http_empty_gif_module等非核心模塊- 訂閲Nginx安全通告
二、必須實施的5項防護配置
2. 隱藏服務器標識
# 在http塊添加(全局生效)
http {
server_tokens off; # 禁止返回版本信息
}
3. 攔截惡意爬蟲
# /etc/nginx/block_bots.conf
map $http_user_agent $is_bot {
default 0;
"~*bot" 1; # 匹配所有bot
"~*scan" 1; # 匹配掃描器
}
# server塊引用
server {
if ($is_bot) { return 403; }
}
4. 限制HTTP方法
location / {
# 只允許GET/POST/HEAD方法
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 405; # 更標準的Method Not Allowed
}
}
5. 防緩衝區溢出攻擊
http {
client_body_buffer_size 16k;
client_header_buffer_size 1k;
client_max_body_size 10m; # 根據業務調整
}
6. 連接數限制
http {
# 每IP限制100連接
limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;
limit_conn conn_per_ip 100;
}
參考文章:Nginx服務器10項安全加固配置指南