公司要求http不能用,要用https,系统是阿里云服务器ubuntu20
1.安装snapd
sudo apt-get install snapd
sudo snap install core; sudo snap refresh core
2.移除之前的certbot
之前用什么命令安装的就用什么命令删除,eg.
sudo apt-get remove certbot
sudo dnf remove certbot
sudo yum remove certbot
也有之前尝试安装的certbot-auto也要卸载掉,参照 https://certbot.eff.org/docs/uninstall.html.
#如果添加了一个 cron 作业或 systemd 计时器来自动运行 certbot-auto以更新您的证书
cd /etc/crontab
sudo sed -i '/certbot-auto/d' /etc/crontab
#如果按照/usr/local/bin 的方式放置certbot-auto
sudo rm /usr/local/bin/certbot-auto
#最后删除certbot-auto
sudo rm -rf /opt/eff.org
3.安装certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot #确认安装成功
4.配置certbot
sudo certbot --nginx #自动配置
sudo certbot certonly --nginx #手动配置
备注,会让你填写邮箱(可跳过)和域名,域名只能由大小写字母、数字、英文横杆“-”和点“.”组成,不包括下划线!!!
我填域名的时候就是英文下划线报错,Domain name contains an invalid character
在sudo vim /var/log/letsencrypt/letsencrypt.log中可以看到
certbot: error: unrecognized arguments: ocr_for_mateluncher.test.xxx.com.cn![在这里插入图片描述](https://img-blog.csdnimg.cn/c0f06bff85c94908bbf347b275e67b2b.png
然后就是一顿问七问八拜托大佬帮忙修改域名。等域名正常了继续
改了域名之后一切正常了,因为之前填过邮箱,这里直接输入你要激活的域名的编号就行了。之后登录https与http都能正常访问