当前位置:   article > 正文

Nginx 实战:Nginx HTTPS 实践

Nginx 实战:Nginx HTTPS 实践

在实践中配置Nginx以支持HTTPS,涉及以下几个关键步骤:

步骤1:安装并启用SSL模块

确保Nginx已安装,并且包含HTTP SSL模块(也称为ngx_http_ssl_module)。通常在编译安装Nginx时,可以通过添加--with-http_ssl_module选项来启用它。如果你使用的是预编译包,SSL模块可能已经被默认包含。

步骤2:获取SSL证书

  • 获取有效的SSL/TLS证书。这可以是从权威机构购买的商业证书,也可以是Let’s Encrypt等提供的免费证书,或者是自签名证书(仅用于测试,生产环境不推荐)。

步骤3:配置SSL证书

  • 将SSL证书(通常是.crt或.pem格式的公钥证书)和私钥文件(.key格式)放置在服务器上的一个安全位置,例如 /etc/nginx/ssl

步骤4:编辑Nginx配置文件

打开Nginx的主配置文件(通常是 /etc/nginx/nginx.conf 或者在一个特定的站点配置文件如 /etc/nginx/conf.d/example.com.conf),然后为需要启用HTTPS的服务器块添加如下配置:

server {
    listen 443 ssl;
    server_name yourdomain.com; # 替换为你的域名

    # SSL证书配置
    ssl_certificate /etc/nginx/ssl/yourdomain_com.crt; # 证书文件路径
    ssl_certificate_key /etc/nginx/ssl/yourdomain_com.key; # 私钥文件路径

    # 强化SSL设置
    ssl_protocols TLSv1.2 TLSv1.3; # 支持的安全协议版本
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 安全的加密套件
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 1h;
    
    # 其他配置,例如根目录、索引文件等...
    root /var/www/yourdomain.com/public_html;
    index index.html index.htm;

    # ...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

步骤5:禁用不安全的协议和加密套件

  • 如上面示例所示,应禁用过时和不安全的SSL协议版本,比如SSLv2和SSLv3,并配置安全的加密套件。

步骤6:可选 - HTTP重定向到HTTPS

为了强制所有HTTP流量转为HTTPS,可以在另一个server块中设置HTTP监听并将请求重定向到HTTPS:

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri; # 发送301永久重定向到HTTPS
}
  • 1
  • 2
  • 3
  • 4
  • 5

步骤7:检查配置并重启Nginx

  • 使用 nginx -t 命令检查配置文件是否有语法错误。
  • 如果配置正确,执行 systemctl restart nginxservice nginx restart 重启Nginx服务以使配置生效。

步骤8:验证HTTPS设置

  • 在浏览器中访问你的网站,确保HTTPS连接成功建立且显示绿色锁图标,表示连接是安全的。

以上即为在Nginx上实现HTTPS的基本步骤。在实际部署过程中,还可能需要根据具体情况进行更多优化配置,例如启用HSTS(HTTP严格传输安全)、OCSP stapling等功能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/311489
推荐阅读
相关标签
  

闽ICP备14008679号