对于境内备案网站,为了防止不法分子恶意将未授权域名解析到服务器,可以在 Nginx 上进行如下配置:
1 | server { |
开启以上配置的情况下配置 HTTP 跳转 HTTPS
以上配置导致所有 HTTP 未加密请求均被拒绝,如果需要开启 HTTP 跳转 HTTPS,一种方法为每个站点单独配置 server
块;另一种方法如下,即一个 server
块配置整个域名及其子域名。
假设您的域名是 example.com
,如下配置可仅允许 example.com
及其子域名进行 HTTP 跳转 HTTPS:
1 | server { |
这样,在默认情况下,所有未授权的域名请求都会被拒绝,只符合 server_name
的域名会被允许访问。
限制 TLS 版本和密钥交换算法
此外一般 CDN 均支持 TLSv1.3,建议仅开启 TLSv1.3,并仅允许 X25519 密钥交换:
1 | server { |
该配置应放在开启 ssl
的 server
块中。可以放在单独的文件并使用 include
引入。