背景:raksmart服务器 下篇
部署项目 SSL报错:ERR_CERT_COMMON_NAME_INVALID
安装certbot
sudo apt update
sudo apt install certbot
安装python3-certbot-nginx插件
sudo apt install python3-certbot-nginx
申请ssl证书 有效期90天
sudo certbot --nginx -d www.8765430.xyz
如果hostname有适配的 nginx插件每天0点自动化更新
echo "0 0 * * * /usr/bin/certbot renew --quiet" | sudo tee -a /etc/crontab > /dev/null
然后遇到比较棘手的SSL CN(Common Name)问题了,起因是flask的session是依赖cookies的,而浏览器的安全策略必须要https才能设置http_secure为true,而我通过配置上面生成的SSL,使其能正常传递cookies,不至于不信任我的站点,火狐浏览器能访问,但谷歌浏览器的请求会报错 ERR_CERT_COMMON_NAME_INVALID,上网查阅后先是怀疑,Cloud Flare 托管时候,DNS解析导致证书的登记名(CN)和访问的domain不匹配(这里我还是不明白,希望有大佬来指点迷津,谢谢~)
后面通过ip去访问终于能正常拿到证书了
配置好啦,https 和 http对应的是两个项目,欢迎大家来看呀~
https://104.192.81.91/
http://104.192.81.91/