使用acme.sh生成证书后如何在nginx下配置?

使用acme.sh生成了

/root/.acme.sh/p6p.net/p6p.net.cer
/root/.acme.sh/p6p.net/p6p.net.key
/root/.acme.sh/p6p.net/ca.cer
/root/.acme.sh/p6p.net/fullchain.cer

几个文件,如何配置到nginx的vhost中?

要配置 Nginx 服务器以使用 SSL/TLS 加密,您需要将证书文件和私钥文件配置到 Nginx 的虚拟主机配置文件中。以下是配置步骤:

  1. 将证书文件和私钥文件复制到 Nginx 的配置目录中。您可以将证书文件和私钥文件复制到任何您喜欢的位置,只要在 Nginx 配置文件中引用正确的文件路径即可。例如,将证书文件和私钥文件复制到 /etc/nginx/certs 目录下。
  2. 打开 Nginx 的虚拟主机配置文件。您可以在 /etc/nginx/sites-available/ 目录下找到您的虚拟主机配置文件。例如,如果您的域名是 p6p.net,则您的虚拟主机配置文件可能是 /etc/nginx/sites-available/p6p.net。
  3. 在虚拟主机配置文件中添加以下代码来配置 SSL/TLS:
    server {
        listen 443 ssl;
        server_name p6p.net;
    
        ssl_certificate /etc/nginx/certs/p6p.net/fullchain.cer;
        ssl_certificate_key /etc/nginx/certs/p6p.net/p6p.net.key;
    
        # 如果您使用的是 ACME.sh 生成的证书,则还需要添加以下代码来配置 CA 证书:
        ssl_trusted_certificate /etc/nginx/certs/p6p.net/ca.cer;
    
        # 其他 SSL/TLS 配置设置
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
    
        # 其他虚拟主机配置设置
        # ...
    }

    在上面的代码中,您需要将 /etc/nginx/certs/p6p.net/fullchain.cer 替换为您的证书文件的实际路径,将 /etc/nginx/certs/p6p.net/p6p.net.key 替换为您的私钥文件的实际路径。如果您使用的是 ACME.sh 生成的证书,则还需要将 /etc/nginx/certs/p6p.net/ca.cer 替换为您的 CA 证书文件的实际路径。

  4. 保存并关闭虚拟主机配置文件。然后,使用以下命令启用虚拟主机配置文件:
    sudo ln -s /etc/nginx/sites-available/p6p.net /etc/nginx/sites-enabled/
  5. 重新加载 Nginx 配置,使其生效:
    sudo systemctl reload nginx

现在,您的 Nginx 服务器已经配置了 SSL/TLS 加密,可以通过 HTTPS 访问您的网站了。

文章版权归 有个狸 所有,未经许可不得转载,责任编辑:有个狸。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注