1. 犀牛前端部落首页
  2. 网络教程

Nginx 配置HTTPS证书

Nginx 配置HTTPS证书

俺最近在DigitalOcean上用官方的Node.js droplet安装了一个VPS,这个VPS安装了Node和Nginx作为反向代理,这意味着它是用户和Node.js应用程序之间的中间人。

默认情况下,droplet被配置为使用HTTP,但我们希望我们的应用程序使用HTTPS, HTTP的安全版本。

所以我们需要,使用Certbot通过 Let’s Encrypt, 获得SSL证书,并配置Nginx配置它。

总共分为三个步骤:

  • 安装Certbot和Certbot Nginx
  • 设置Nginx
  • 使用Certbot生成SSL证书

安装Certbot和Certbot Nginx

这假设你正在使用Ubuntu、Debian或任何其他使用apt-get来管理软件包的Linux发行版,那么你可以输入一下命令来安装:

sudo apt-get install certbot python3-certbot-nginx

设置Nginx

编辑/etc/nginx/sites-available/default来设置正确的服务器名(对SSL很重要):

sudo nano /etc/nginx/sites-available/default

找到行server_name并输入您的域名:

server_name my.domain.com;

然后重启nginx:

sudo systemctl reload nginx

防火墙应该已经配置为接受HTTPS,键入sudo ufw状态找到它。您应该会在列表中看到Nginx Full。

使用Certbot生成SSL证书

现在我们可以调用Certbot来生成证书。你必须以 root 身份运行下面命令:

sudo certbot --nginx -d my.domain.com

输入你真正的电子邮件,因为它会用来与你沟通任何问题。

我还建议选择将HTTP自动重定向到HTTPS的选项。

就是这样!

SSL证书的有效期为90天,Certbot已经设置为自动更新。要模拟和测试更新过程,请运行:

sudo certbot renew --dry-run

这应该会给你一个成功的信息。

现在您的网站应该可以在HTTPS上成功运行!

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/5132.html

发表评论

登录后才能评论