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相似的内容: