阿里云服务器对于没有备案的域名是无法访问的,手里面有一个pub域名没有备案,但是可以通过HTTPS的方式放到阿里云上面,既然用HTTPS,那么证书就选择最常见的Let’s Encrypt,oneinstack里面提供自动安装包,很是方便,可是用了一段时间发现问题了,证书续期的时候不能自动完成,找了一下可以通过下面命令手动完成
/usr/local/python/bin/certbot renew --force-renewal --renew-hook "/etc/init.d/nginx reload"
这个命令确实好用,但是发现备案过的域名都正常更新了,但是pub域名没有更新,查看日志发现,域名验证过程中出错,因为没有备案的域名不能通过阿里云访问,所以域名验证不成功,为了能正常访问,看来只能手动更新了。
第一步:进入网站https://www.sslforfree.com,填写自己的域名,点击按钮进入下一步,这就是对域名的验证了,因为HTTP不能访问,所以选择第三个按钮,通过DNS来验证。讲他们提供的两个DNS记录加以解析,解析生效后顺利进入下一步。这时就生成了证书的内容。
第二部:替换证书
cd /etc/letsencrypt/live/mydomain.com
进入证书文件夹会发现有四个文件cert.pem chain.pem fullchain.pem privkey.pem
由于是Nginx系统,所以需要修改fullchain.pem privkey.pem两个文件,将第一步得到Certificate内容替换fullchain.pem里面的内容,Private Key内容替换privkey.pem里面的内容。
保存之后 service nginx restart重启服务