如何为网站或者服务添加HTTPS
前置要求
- 一台服务器
- 安装nginx
- 拥有一个域名
操作
域名设置
一般来说,要配置HTTPS,需要拥有一个域名。我现在这个域名是2023年在dynadot免费领的一年,不知道还有没有这个福利。如果你需要购买一个域名可以试一下dynadot的服务,也可以尝试使用一些免费的域名(一般是二级域名,且体验没那么好)。
在你的域名服务提供商,找到DNS设置。
如果主域名已经被占用,可以使用二级域名设置。这里以二级域名为例,一级域名同理。
在二级域名(子域名)设置中添加记录,选择 A ,目标指向你的服务器的公网IP。
保存后可能需要几分钟的时间来传播。
Nginx 配置
若没安装,以Ubuntu系统为例,可通过以下命令安装:
1 | sudo apt-get update |
可以用以下命令验证是否安装了Nginx。
1 | nginx -v |
应该会得到类似的版本号信息。
1 | nginx version: nginx/1.22.0 (Ubuntu) |
在 /etc/nginx/sites-available/
目录下,新建一个文件(名字随意,最好和网站或者服务相关)
1 | sudo nano /etc/nginx/sites-available/<name> |
填写以下内容(<>
中的具体内容需要修改)
1 | server { |
保存后,使用以下命令进行链接:
1 | sudo ln -s /etc/nginx/sites-available/<name> /etc/nginx/sites-enabled/ |
配置 Certbot
安装
1 | sudo apt-get update |
请求颁发免费证书
1 | sudo certbot --nginx -d <你的域名> |
成功后会显示:
1 | Deploying certificate |
请求成功后,如果一切正常,当证书快到期的时候,会自动更新。
为了保险起见,可以试一下模拟更新证书(不会真正更新)
1 | sudo certbot renew --dry-run |
使用
现在,应该访问对应的域名,就能实现使用HTTPS了。