Nginx 的 SSL/TLS 加密是如何配置的?

推荐答案

在 Nginx 中配置 SSL/TLS 加密通常涉及以下几个步骤:

  1. 生成 SSL 证书和私钥
    使用工具如 openssl 生成自签名证书或从受信任的证书颁发机构(CA)获取证书。

  2. 配置 Nginx 以使用 SSL/TLS
    在 Nginx 配置文件中,修改 server 块以启用 SSL/TLS。

    -- -------------------- ---- -------
    ------ -
        ------ --- ----
        ----------- ------------
    
        --------------- -------------------------
        ------------------- -------------------------
    
        ------------- ------- --------
        ----------- -----------------
        ------------------------- ---
    
        -------- - -
            ---- --------------
            ----- -----------
        -
    -
  3. 重启 Nginx 服务
    配置完成后,重启 Nginx 以使更改生效。

本题详细解读

1. 生成 SSL 证书和私钥

SSL/TLS 加密依赖于证书和私钥。证书用于验证服务器的身份,而私钥用于加密和解密数据。你可以使用 openssl 工具生成自签名证书,也可以从受信任的证书颁发机构(CA)获取证书。自签名证书适用于测试环境,但在生产环境中建议使用受信任的 CA 颁发的证书。

2. 配置 Nginx 以使用 SSL/TLS

在 Nginx 配置文件中,server 块用于定义虚拟主机。要启用 SSL/TLS,需要在 server 块中添加 listen 443 ssl;,并指定证书和私钥的路径。

  • ssl_certificate:指定 SSL 证书的路径。
  • ssl_certificate_key:指定 SSL 私钥的路径。
  • ssl_protocols:指定支持的 SSL/TLS 协议版本。推荐使用 TLSv1.2TLSv1.3,因为它们更安全。
  • ssl_ciphers:指定加密套件。HIGH:!aNULL:!MD5 表示使用高强度的加密算法,并禁用不安全的算法。
  • ssl_prefer_server_ciphers:设置为 on,表示服务器优先选择加密套件。

3. 重启 Nginx 服务

配置完成后,必须重启 Nginx 服务以使更改生效。可以使用 systemctl 命令来重启 Nginx。

通过以上步骤,Nginx 就可以使用 SSL/TLS 加密来保护数据传输的安全性。

纠错
反馈