一、HTTPS 到底解决什么问题?
HTTPS 本质是:HTTP + SSL/TLS 加密层在架构中通常由Nginx作为 HTTPS 终端,后端应用继续使用 HTTP。二、生成自签名证书(测试环境)
openssl genrsa -out server.key 2048
openssl req -new-key server.key -out server.csr
openssl x509 -req-days365-in server.csr -signkey server.key -out server.crt
mkdir /etc/nginx/sslmv server.* /etc/nginx/ssl/
三、配置 HTTPS 服务
vim /etc/nginx/conf.d/https.conf
server { listen 443 ssl; server_name secure.local; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /data/www/site1; index index.html; }}
浏览器访问:https://secure.local如果提示“不安全”,是因为自签名证书未被信任(测试环境正常)。四、强制 HTTP 跳转 HTTPS
生产环境通常要求:所有 HTTP 自动跳转到 HTTPSserver { listen 80; server_name secure.local; return 301 https://$host$request_uri;}
这样用户访问:http://secure.local/test会自动跳转:https://secure.local/test五、推荐增强型 SSL 配置
ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;ssl_prefer_server_ciphers on;
六、生产证书获取方式
七、常见 SSL 错误排查
firewall-cmd --add-service=https --permanentfirewall-cmd --reload
八、HTTPS 性能影响大吗?
九、本篇核心能力升级