本文目录
#简介
很多人在搭建好了网站环境之后都不知道怎么配置SSL,之前网站升级TLS1.3的时候博主也遇到了同样的问题,现在分享一个Mozilla的在线生成SSL配置页面,它支持生成包括Caddy/Nginx/Apache在内的Web服务器程序的配置
#查看程序版本
//把版本号记下来,下一步有用 $ nginx -v //查看Nginx版本$ caddy --version //查看Caddy版本$ apachectl -v //查看Apache版本$ openssl version //查看Openssl版本 |
#使用
打开该页面,在「Server Software」处选择你的服务器上对应的Web程序,在以下「Environment」区域输入在上一步记录下来的版本号
值得注意的是,在「Mozilla Configuration」一项中默认是选中「Intermediate」–中等,选则「Intermediate」可以在保证兼容性的前提下保持一定程度的安全性
如果当前服务器不支持TLS1.3(或者客户端不支持),需要手动删除「TLSv1.3」字段(详见#示例配置),如想服务器支持TLS1.3,需要在编译Openssl时加入「–with-openssl-opt=’enable-tls1_3’」参数
如果你只想使用TLS1.3的话请选择「Modern」,建议再手动添加TLS1.3对应的加密方式(详见#示例配置),请确保在浏览器跟网站同时支持TLS1.3的前提下选择该项
在「Miscellaneous」–杂项中,建议选中「HTTP Strict Transport Security」以及「OCSP Stapling」(只有在「Server Software」处选中Nginx时「OCSP Stapling」才处于可选状态),前者有助于保持HTTPS连接的安全性,后者打开后能稍微起到加速作用
#示例配置
下面贴出我使用的配置,对应「Nginx版本:1.17」,「Openssl版本:1.1.1c」,默认启用「TLS1.3」并兼容「TLS1.2」,设置强制重定向到https
server { listen 80 default_server; listen [::]:80 default_server; # redirect all HTTP requests to HTTPS with a 301 Moved Permanently response. return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate ssl_certificate /path/to/signed_cert_plus_intermediates; ssl_certificate_key /path/to/private_key; ssl_session_timeout 20m; ssl_session_cache shared:MozSSL:10m; # about 40000 sessions ssl_session_tickets off; ssl_prefer_server_ciphers on; # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam.pem ssl_dhparam /path/to/dhparam.pem;#填写SSL证书目录 # intermediate configuration ssl_protocols TLSv1.2 TLSv1.3;#启用TLS1.3/TLS1.2支持 ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256: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;#设置加密模块 # HSTS (ngx_http_headers_module is required) (63072000 seconds) add_header Strict-Transport-Security “max-age=123072000” always;#使用HSTS(HTTP严格传输安全) # OCSP stapling ssl_stapling on; ssl_stapling_verify on; # verify chain of trust of OCSP response using Root CA and Intermediate certs ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates; resolver 8.8.8.8 8.8.4.4 vaild=3600s; } |
<完>
Leave a Reply