CentOS上配合nginx 使用 Certbot 生成SSL证书
您可以使用 Let's Encrypt 来申请免费的 SSL 证书。以下是在 CentOS 上安装 Certbot 并使用它来获取 Let's Encrypt SSL 证书的步骤:
-
安装 Certbot:
sudo yum install certbot python2-certbot-nginx
-
配置 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; } }
-
运行 Certbot 命令以获取 SSL 证书:
sudo certbot --nginx -d oss.hunji.xyz
如果您有多个域名,请使用
-d
参数指定它们。 -
根据提示进行证书申请过程:
- 输入您的邮箱地址以接收关于 SSL 证书到期的通知。
- 同意 Let's Encrypt 的服务条款。
- 选择是否共享您的邮箱地址以获取 Let's Encrypt 的其他提醒。
- 等待 Certbot 与 Let's Encrypt 服务器通信验证您的域名并颁发证书。此过程可能需要几分钟,根据您的网络速度和服务器性能的不同可能需要更长时间。
-
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; } }
-
检查 Nginx 配置并重启 Nginx:
sudo nginx -t sudo systemctl restart nginx
现在,您的网站已经启用了 HTTPS 和 Let's Encrypt SSL 证书。请确保您的域名解析正确,并且服务器 80 端口和 443 端口可访问。