nginx 安全访问配置
要素:
1. 启用 SSL/TLS 加密
- 使用 listen 指令配置 HTTPS 监听端口,并在 ssl_certificate 和 ssl_certificate_key 指令中指定相应证书和密钥文件。
2. 强制使用 HTTPS
- 使用 rewrite, return 或 error_page 指令将 HTTP 请求重定向到 HTTPS。
3. 配置内容安全策略 (CSP)
- 使用 add_header 指令添加 Content-Security-Policy 响应头,以限制可以加载的脚本、样式和其他资源的来源。
4. 启用 HTTP 严格传输安全 (HSTS)
- 使用 add_header 指令添加 Strict-Transport-Security 响应头,以强制浏览器在指定时间范围内仅通过 HTTPS 访问网站。
5. 限制文件访问
- 使用 location 指令配置访问控制规则,以限制对敏感文件或目录的访问。
例如,使用 deny 或 allow 指令指定允许或拒绝访问的 IP 地址或用户代理。
6. 启用 WAF(Web 应用防火墙)
- 使用第三方模块或服务,如 ModSecurity 或 Cloudflare,来监视和阻止恶意请求。
7. 限制请求速率
- 使用 limit_req 指令配置请求速率限制,以防止拒绝服务攻击。
8. 禁用目录列表
- 使用 autoindex off 指令禁用目录列表,以防止敏感文件或目录被枚举。
9. 记录安全事件
- 配置 nginx 日志,以记录安全相关的事件,例如拒绝请求、错误消息和 IP 地址。