EC2里Certbot创建证书
2021-08-30 本文已影响0人
Jiangyouhua
Hi,大家好,我是姜友华。
刚刚申请了一个AWS免费的EC2,绑定muutr.com,用来测试我们开发的WebRTC直播。在开发之前,我们一起生成muutr.com的SSL证书。
使用Certbot生成站点(muutr.com)证书。
Certbot生成站点证书是免费的,有效期比较短,需要我们定时更新的,我们拿来作测试用则刚刚好。当然,我在实际生产上也是用它的。
这是[Certbot的官网]https://certbot.eff.org,做得非常细致。有Apache、Nginx、Haproxy等的,但没有Go的,下面我们来实现一下:
1. 解决Failed to set locale, defaulting to C错误。
在macOS里使用Terminal连接到云主机后,使用运行yum命令时,会提示Failed to set locale, defaulting to C错误。解决方法有两个:
- 需要设置LC_ALL的值,下面的方法是监时的。
$ export LC_ALL=en_US.UTF-8
-
修改Terminal设置,从菜单里打开:
Terminal → Preferences.. → Profiles → Inernational栏,去掉勾选Set locale environment variables on startup Screen Shot 2021-08-31 at 09.47.00.png
2. 安装Linux的epel的yum源。
$ yum install -y epel-release
3. 安装Certbot.
$ yum install -y certbot
4. 使用Certbot生成证书。
$ sudo certbot certonly --webroot -w /home/ec2-user/code/live/server -d muutr.com -d www.muutr.com
按提示输入邮箱、确认即可。
5. 最后记录一下,通过Terminal使用证书连接远程主机的注意事项:
- 使用命令为
$ ssh user@123.4.5.6 -i /path/to/key.pem -o ServerAliveInterval=60
user,用户。亚马逊EC2主机的用户是ec2-user。
123.4.5.6,公用IP。
/path/to/key.pem,证书在本机的位置。
ServerAliveInterval=60,防止不用时卡死。
- 可添加到远程连接设置中。 Screen Shot 2021-08-31 at 09.56.55.png
好,就到这里。我是姜友华,下一次,再见。