🗣 Wd提问: nginx安全配置
🤖 Ai回答: Nginx 是一个高性能的 Web 服务器和反向代理服务器,其安全性配置对于保护 Web 服务至关重要。以下是 Nginx 的关键安全配置建议,涵盖常见攻击防护、访问控制、SSL/TLS 加密等方面:
1、基础安全配置
(1) 隐藏版本号
避免暴露 Nginx 版本信息,防止攻击者针对特定版本漏洞发起攻击:
nginx
server_tokens off;
(2) 限制 HTTP 方法
仅允许常见的 HTTP 方法(如 GET、POST、HEAD),阻止潜在的恶意方法:
nginx
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
return 405;
}
(3) 禁止访问敏感文件
禁止访问配置文件、日志文件等敏感内容:
nginx
location ~* (\.htaccess|\.git|\.svn|\.DS_Store|\.env|\.log|\.conf|\.bak|\.sql) {
deny all;
}
(4) 限制目录遍历
防止用户通过 URL 列出目录内容:
nginx
autoindex off;
2、访问控制
(1) IP 白名单/黑名单
限制特定 IP 或 IP 段的访问:
nginx
允许指定 IP 访问
allow 192.168.1.0/24;
deny all;
(2) 防止暴力破解
限制登录接口的请求频率(如 `/login`):
nginx
http {
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
server {
location /login {
limit_req zone=login burst=10 nodelay;
...
}
}
}
3、SSL/TLS 配置
(1) 强制 HTTPS
将所有 HTTP 请求重定向到 HTTPS:
nginx
server {
listen 80;
server_name 65.hk;
return 301 https://$host$request_uri;
}
(2) 配置强加密套件
使用现代加密算法,禁用弱协议(如 SSLv3):
nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
(3) 使用 Let's Encrypt 证书
通过 Let's Encrypt 获取免费证书:
bash
sudo apt install certbot
sudo certbot nginx -d 65.hk
(4) 启用 OCSP Stapling
减少 SSL 握手延迟并提高安全性:
nginx
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
4、防御常见攻击
(1) 防止 DDOS 攻击
限制单个 IP 的请求速率和连接数:
nginx
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
location / {
limit_req zone=one burst=5;
limit_conn addr 10;
}
}
}
(2) 防止文件上传攻击
限制上传文件大小和类型:
nginx
client_max_body_size 10M;
location ~* \.(php|jsp|asp|sh|py|pl|exe)$ {
deny all;
}
5、安全头部配置
通过 HTTP 响应头增强浏览器安全性:
nginx
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection 1; mode=block;
add_header Content-Security-Policy default-src 'self';;
6、日志与监控
(1) 记录访问日志
保留详细的访问日志以便分析:
nginx
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log notice;
(2) 实时监控
使用工具(如 GoAccess、ELK Stack)分析日志,检测异常行为。
7、其他安全措施
禁用不必要的模块:编译时移除未使用的模块(如 `without-http_autoindex_module`)。
定期更新 Nginx:及时应用安全补丁。
配置 WAF(Web 应用防火墙):集成 [Naxsi](https://github.com/nbs-system/naxsi) 或 [ModSecurity](https://modsecurity.org/)。
限制文件 MIME 类型:防止错误解析文件:
nginx
types_hash_max_size 2048;
include mime.types;
default_type application/octet-stream;
8、示例配置文件
nginx
server {
listen 443 ssl;
server_name 65.hk;
ssl_certificate /etc/letsencrypt/live/65.hk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/65.hk/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
server_tokens off;
client_max_body_size 10M;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* (\.git|\.env|\.sql) {
deny all;
}
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection 1; mode=block;
}
注意事项
根据业务需求调整配置(如 IP 白名单、速率限制阈值)。
使用 `nginx -t` 测试配置文件语法。
定期检查安全公告(如 [CVE](https://cve.mitre.org/))并更新 Nginx。
通过以上配置,可以显著提升 Nginx 的安全性,降低常见攻击的风险。
📣 商家广告:





0
IP地址: 9.35.153.151
搜索次数: 0
提问时间: 2025-11-04 13:09:27
🛒 域名购买:
2223.com.cn
40.gold
691.net.cn
q-j.cn
214.net.cn
31.gs
671.net.cn
t-v.com.cn
lr.gs
c-a.com.cn
❓️ 热门提问:
风机房耐火等级
1.2米22u标准机柜
服务器进不了系统
搜索引擎软件
dsa机房防护
263邮箱注册官网
vps游戏服务器
北斗校时服务器价格
免费云服务器推荐
ipv4dns的服务器地址
豌豆Ai站群搜索引擎系统
🌐 域名评估:
g-y.cn
qmw.com
www.example.com
ahaz.cn
xgoi.cn
tesla.jx.cn
uaht.cn
a-s.cn
kqnm.cn
96au.com
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
한국 AI 검색엔진
全球搜索引擎
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。