CentOS上配合nginx 使用 Certbot 生成SSL证书

您可以使用 Let's Encrypt 来申请免费的 SSL 证书。以下是在 CentOS 上安装 Certbot 并使用它来获取 Let's Encrypt SSL 证书的步骤:

  1. 安装 Certbot:

    sudo yum install certbot python2-certbot-nginx
    
  2. 配置 Nginx,将 oss.hunji.xyz 的 HTTP 网站配置如下:

    server {
        listen 80;
        server_name oss.hunji.xyz;
    
        client_max_body_size 10m;
    
        location / {
            proxy_pass http://127.0.0.1:9000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        }
    }
    
  3. 运行 Certbot 命令以获取 SSL 证书:

    sudo certbot --nginx -d oss.hunji.xyz
    

    如果您有多个域名,请使用 -d 参数指定它们。

  4. 根据提示进行证书申请过程:

    • 输入您的邮箱地址以接收关于 SSL 证书到期的通知。
    • 同意 Let's Encrypt 的服务条款。
    • 选择是否共享您的邮箱地址以获取 Let's Encrypt 的其他提醒。
    • 等待 Certbot 与 Let's Encrypt 服务器通信验证您的域名并颁发证书。此过程可能需要几分钟,根据您的网络速度和服务器性能的不同可能需要更长时间。
  5. Certbot 完成 SSL 证书配置后,它将自动更新您的 Nginx 配置文件,修改为以下内容:

    server {
        listen 80;
        server_name oss.hunji.xyz;
        return 301 https://$host$request_uri;
    }
    
    server {
        listen 443 ssl;
        server_name oss.hunji.xyz;
    
        ssl_certificate /etc/letsencrypt/live/oss.hunji.xyz/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/oss.hunji.xyz/privkey.pem;
    
        client_max_body_size 10m;
    
        location / {
            proxy_pass http://127.0.0.1:9000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        }
    }
    
  6. 检查 Nginx 配置并重启 Nginx:

    sudo nginx -t
    sudo systemctl restart nginx
    

现在,您的网站已经启用了 HTTPS 和 Let's Encrypt SSL 证书。请确保您的域名解析正确,并且服务器 80 端口和 443 端口可访问。

posted @ 2023-10-10 14:42  今晚打老虎!  阅读(412)  评论(0编辑  收藏  举报