ubuntu

ubuntu nginx ssl连接不安全怎么办

小樊
47
2025-08-05 23:26:20
栏目: 云计算

若Ubuntu Nginx的SSL连接不安全,可按以下步骤排查解决:

  1. 检查证书有效性

    • 确保证书未过期,可通过openssl x509 -in /etc/nginx/ssl/your.crt -noout -dates查看有效期。
    • 若为自签名证书,浏览器会提示不安全,需替换为Let’s Encrypt等权威机构证书。
  2. 更新Nginx及SSL模块

    • 确保Nginx已安装最新版本,支持TLS 1.2/1.3协议:
      sudo apt update && sudo apt install nginx  
      
    • 检查SSL模块是否启用:nginx -V 2>&1 | grep -o with-http_ssl_module,未启用需重新编译Nginx。
  3. 优化SSL配置

    • 在Nginx配置文件中(如/etc/nginx/sites-available/default),修改SSL参数:
      ssl_protocols TLSv1.2 TLSv1.3;  # 禁用SSLv3及以下版本  
      ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';  # 仅使用强加密套件  
      ssl_prefer_server_ciphers on;  
      ssl_session_cache shared:SSL:10m;  
      ssl_session_timeout 10m;  
      
      参考来源:
  4. 启用HSTS和OCSP Stapling

    • 强制浏览器使用HTTPS:
      add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";  
      
    • 启用证书状态检查:
      ssl_stapling on;  
      ssl_stapling_verify on;  
      resolver 8.8.8.8 8.8.4.4 valid=300s;  
      
      参考来源:
  5. 检查防火墙与端口

    • 确保服务器防火墙(如ufw)允许443端口:
      sudo ufw allow 443/tcp  
      sudo ufw reload  
      
    • 使用netstat -tulnp | grep 443确认Nginx监听443端口。
  6. 测试与验证

    • 重启Nginx:sudo systemctl restart nginx
    • 通过浏览器访问网站,查看是否显示绿色锁图标,或使用SSL Labs测试工具验证配置。

注意:生产环境避免使用自签名证书,优先通过Let’s Encrypt获取免费证书。定期更新证书和Nginx版本,确保安全性。

0
看了该问题的人还看了