Files
youlegames/codes/agent/game-docker/docker/nginx/ssl-params.conf

38 lines
2.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SSL 安全参数 (适用于 Let's Encrypt 证书)
# 此文件被 init-ssl.sh 复制到容器内 /etc/nginx/snippets/ssl-params.conf
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS强制浏览器只用 HTTPS 连接(去掉 includeSubDomains避免影响其他未配置 HTTPS 的子域名)
add_header Strict-Transport-Security "max-age=31536000" always;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# SSL session 优化
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# DH 参数 (如果生成了 dhparam.pem)
# ssl_dhparam /etc/nginx/ssl/dhparam.pem;
# ── 安全响应头 ──────────────────────────────────────────────────────
# 防点击劫持:禁止页面被嵌入 iframe
add_header X-Frame-Options "SAMEORIGIN" always;
# 防 MIME 类型嗅探
add_header X-Content-Type-Options "nosniff" always;
# 启用浏览器内置 XSS 过滤(旧浏览器兼容)
add_header X-XSS-Protection "1; mode=block" always;
# 限制 Referer 信息泄露
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# 隐藏 nginx 版本号(在 nginx.conf 中配合 server_tokens off 使用)
# Content Security Policy按需调整当前允许同源 + 必要的外部资源
# frame-ancestors 额外放开微信支付收银台来源,避免微信 H5 支付 iframe 被拦截
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' res.wx.qq.com; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; frame-ancestors 'self' https://wx.tenpay.com https://*.weixin.qq.com https://*.qq.com;" always;