Red Hat Training

A Red Hat training course is available for RHEL 8

2.3. 在 NGINX web 服务器中添加 TLS 加密

您可以在 NGINX web 服务器上为 example.com 域启用 TLS 加密。

先决条件

  • NGINX 已安装。
  • 私钥存储在 /etc/pki/tls/private/example.com.key 文件中。

    有关创建私钥和证书签名请求(CSR)的详细信息,以及如何从证书颁发机构(CA)请求证书,请参阅您的 CA 文档。

  • TLS 证书存储在/etc/pki/tls/certs/example.com.crt文件中。如果您使用其他路径,请调整该流程的对应步骤。
  • CA 证书已附加到服务器的 TLS 证书文件中。
  • 客户端和网页服务器会将服务器的主机名解析为 web 服务器的 IP 地址。
  • 在本地防火墙中打开端口443

流程

  1. 编辑 /etc/nginx/nginx.conf文件,并将以下server块添加到配置中的http块中:

    server {
        listen              443 ssl;
        server_name         example.com;
        root                /usr/share/nginx/html;
        ssl_certificate     /etc/pki/tls/certs/example.com.crt;
        ssl_certificate_key /etc/pki/tls/private/example.com.key;
    }
  2. 出于安全考虑,配置成只有 root 用户才可以访问私钥文件:

    # chown root:root /etc/pki/tls/private/example.com.key
    # chmod 600 /etc/pki/tls/private/example.com.key
    警告

    如果私钥被设置为可以被未授权的用户访问,则需要撤销证书,然后再创建一个新私钥并请求一个新证书。否则,TLS 连接就不再安全。

  3. 重启nginx服务:

    # systemctl restart nginx

验证步骤

  • 使用浏览器连接到https://example.com