外观
Nginx配置指南
这是什么?
Nginx就像是一个智能门卫,负责:
- 🚦 指引用户请求到正确的服务器
- 🛡️ 保护系统安全
- 🚀 提升访问速度
- 📝 记录访问日志
📝 配置示例
nginx
# 定义服务器组
upstream api_upstream {
ip_hash; # 保证同一用户访问同一服务器
server 10.10.10.10:8000; # 后端服务器地址
}
# 服务器配置
server {
listen 443 ssl; # 监听HTTPS请求
server_name www.wueasy.com; # 网站域名
charset utf-8; # 使用UTF-8编码
# 🔐 SSL证书配置(HTTPS加密)
ssl_certificate /srv/ssl/wueasy/fullchain.crt; # 证书文件
ssl_certificate_key /srv/ssl/wueasy/cert.key; # 密钥文件
# 🛡️ 安全配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 支持的SSL协议版本
# 加密算法配置
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!aNULL:!MD5:!RC4:!DHE;
ssl_ecdh_curve secp384r1; # 椭圆曲线加密
ssl_prefer_server_ciphers on; # 优先使用服务器的加密算法
ssl_stapling on; # 启用OCSP装订
ssl_stapling_verify on; # 验证OCSP响应
ssl_session_cache shared:SSL:10m; # SSL会话缓存
ssl_session_timeout 10m; # SSL会话超时时间
# 📝 访问日志配置
access_log /dev/null; # 关闭访问日志(节省空间)
# ⚠️ 错误页面配置
error_page 404 /404.html; # 自定义404页面
# 🛑 禁止访问敏感接口
location ~ /actuator {
deny all; # 拒绝所有请求
return 403; # 返回禁止访问
}
# 📄 静态文件配置
location / {
# 🛡️ 安全响应头
add_header X-Content-Type-Options "nosniff"; # 防止类型猜测
add_header X-Frame-Options "SAMEORIGIN"; # 防止点击劫持
add_header X-XSS-Protection "1; mode=block"; # 防止XSS攻击
add_header Referrer-Policy "no-referrer"; # 不发送来源信息
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"; # 强制HTTPS
root /srv/html; # 静态文件目录
try_files $uri $uri/ /index.html; # 支持单页应用
}
# 🔄 API请求转发
location /api {
proxy_pass http://api_upstream; # 转发到后端服务器
client_max_body_size 200M; # 最大请求体积
# 传递客户端信息
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
}
💡 配置说明
1. 基础设置
- 监听HTTPS(443端口)
- 使用域名:www.wueasy.com
- 使用UTF-8编码
2. 安全功能
- SSL证书配置(HTTPS)
- 防止XSS攻击
- 防止点击劫持
- 强制HTTPS访问
- 禁止访问敏感接口
3. 性能优化
- SSL会话缓存
- 静态文件处理
- 请求转发
4. 日志处理
- 访问日志关闭(节省空间)
- 自定义错误页面
❓ 常见问题
1. HTTPS证书问题
- ✓ 确认证书文件路径正确
- ✓ 检查证书是否过期
- ✓ 验证密钥文件权限
2. 静态文件访问失败
- ✓ 检查文件目录权限
- ✓ 确认文件存在
- ✓ 验证nginx用户权限
3. API转发失败
- ✓ 检查后端服务是否正常
- ✓ 确认upstream配置正确
- ✓ 验证网络连接正常
🎯 最佳实践
安全建议:
- 定期更新SSL证书
- 启用所有安全头
- 限制请求大小
性能建议:
- 启用Gzip压缩
- 配置浏览器缓存
- 优化SSL配置
🆘 需要帮助?
如果遇到问题:
- 📝 查看nginx错误日志
- 🔍 检查nginx配置语法
- 🌐 测试后端服务连接
- 📋 验证证书配置