一、核心安全加固配置
1.1 基础防护措施
隐藏服务器信息:在http或server模块中添加
server_tokens off;可隐藏Nginx版本信息禁用敏感功能:
autoindex off; # 防止目录列表暴露limit_except GET POST { deny all; } # 限制HTTP方法
2.2 传输安全强化
强制HTTPS并配置安全协议是最有效的防护手段之一:
# HTTP重定向到HTTPSserver {
listen 80;
return 301 https://$host$request_uri;}# TLS安全配置ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';add_header Strict-Transport-Security "max-age=31536000" always;二、性能优化关键参数
2.1 进程与连接优化
# 核心配置worker_processes auto; # 自动匹配CPU核心数events {
worker_connections 10240; # 单进程连接数
use epoll; # Linux高效事件模型}2.2 网络传输优化
http {
sendfile on; # 零拷贝传输
tcp_nopush on; # 优化数据包发送
keepalive_timeout 65; # 长连接超时
# Gzip压缩配置
gzip on;
gzip_min_length 1k;
gzip_types text/plain application/javascript text/css;}三、场景化配置建议
3.1 高并发API服务配置
location /api/ {
# 连接限制
limit_conn perip 10;
limit_req zone=apilimit burst=20;
# 代理配置
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_next_upstream error timeout http_502;}3.2 静态资源服务器
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d; # 长期缓存
access_log off; # 关闭日志
add_header Cache-Control "public, immutable";}四、配置验证与监控
配置检查:每次修改后执行
nginx -t平滑重载:使用
nginx -s reload避免服务中断监控指标:
启用
stub_status模块查看连接状态使用
ss -antp | grep nginx监控TCP连接定期分析
error_log定位问题
最佳实践提示
渐进式优化:每次只修改1-2个参数并观察效果
环境适配:根据服务器硬件规格调整参数值
备份机制:修改前备份原始配置文件
文档记录:记录每次变更的目的和影响
通过实施上述优化措施,可使Nginx在安全性和性能方面得到显著提升。建议根据实际业务需求选择适用的配置方案,并通过压力测试验证优化效果。