raksmart服务器部署SSL报错:ERR_CERT_COMMON_NAME_INVALID

raksmart,ssl,err,cert,common,name,invalid · 浏览次数 : 0

小编点评

总结: 本文主要讨论了在 RakSmart 服务器下部署项目时遇到的 SSL 证书问题。问题出现在火狐浏览器上,错误为 ERR_CERT_COMMON_NAME_INVALID。经过一系列排查和解决过程,最终解决了这个问题。 步骤如下: 1. 部署 certbot 和 python3-certbot-nginx 插件 使用以下命令更新软件包列表: ``` sudo apt update sudo apt install certbot python3-certbot-nginx ``` 2. 申请 SSL 证书 申请有效期为 90 天的 SSL 证书: ``` sudo certbot --nginx -d www.example.com ``` 3. 配置 Nginx 反向代理 在 Nginx 配置文件中添加以下内容: ``` server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384; location / { proxy_pass http://localhost:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` 4. 设置每日自动更新证书 使用以下命令设置每日 0 点自动更新证书: ``` echo "0 0 * * * /usr/bin/certbot renew --quiet" | sudo tee -a /etc/crontab ``` 5. 解决 SSL CN 问题 由于 Flask 的 session 依赖 cookies,而浏览器需要 HTTPS 才能设置 http_secure 为 true。为了解决这个问题,可以配置 Nginx 反向代理,将 HTTP 请求重定向到 HTTPS。 经过以上步骤,问题得到解决,谷歌浏览器也可以正常访问网站。

正文

背景: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/

与raksmart服务器部署SSL报错:ERR_CERT_COMMON_NAME_INVALID相似的内容: