问题描述
如果这是一个愚蠢的菜鸟问题,我深表歉意,我在处理SSL / https方面并没有真正的经验,所以请帮帮我。
我有docker swarm设置程序,并使用Traefik处理所有HTTPS服务。当我第一次加载页面(例如grafana页面)时,有一个警告页面,然后单击“高级”和“继续(接受风险)”,然后页面显示并可以正常工作,唯一的问题是“不安全”标志显示在浏览器上。 可能有一些原因对此造成影响:
- 自行创建的CA和自签名证书:我处于开发阶段,因此我创建了自己的CA并使用openssl对该证书进行了签名,并在Traefik动态配置中使用此证书。
生成CA的命令:
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem
生成自签名证书的命令:
openssl req -newkey rsa:2048 -days 365 -nodes -keyout key.pem -out req.pem
openssl x509 -req -in req.pem -days 365 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out cert.pem
有关证书的错误,请参见附件的屏幕截图:“缺少主题备用名称”和“此站点缺少有效的,受信任的证书(net :: ERR_CERT_AUTHORITY_INVALID)。” Chrome Dev Tool Certificate Error
- Traefik配置:由于我没有帐户,因此不使用“让我们加密”,因此请使用我自己的自签名证书。我认为这不是问题所在,因为我可以看到页面使用的是我提供的证书。但是,如果有人对Traefik v2有类似的经验,如果我设置有任何错误,也许可以给我一些指导?
声明证书的动态配置文件:
tls:
stores:
default:
defaultCertificate:
certFile: configuration/cert.pem
keyFile: configuration/key.pem
问题:
- 缺少SAN是否是导致我的页面不安全的真正重要因素?如果是,在使用openssl创建证书时如何添加SAN?
- 我知道第二个错误“ ERR_CERT_AUTHORITY_INVALID”表示浏览器无法识别证书的有效性。这是否意味着我必须安装我的CA?在哪里以及如何安装?是在docker swarm的管理者节点上(这是Traefik服务和证书所在的位置),还是在任何尝试访问页面的客户端计算机上?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)