如何让我的本地服务器接受自签名证书并删除 HTTPS 上的红线。我使用了 DigitalOcean 上关于如何设置自签名 SSL 的指南。我只需要完成这项工作。
PS。我还尝试检查其他堆栈溢出回答的论坛,但没有运气。
附注(如果相关):HTTPS 上的红线是否会给 Service Worker 带来问题?我正在尝试在我的项目中启用 PWA。加载我的页面时,它给出错误消息
SSL certificate error occured when fetching the script
我必须经历很多困难才能让我的自签名证书在 Chrome 中为我的本地开发网站工作。 创建了 crt/key 我必须使用 openssl 命令的配置文件..常规命令不会削减它。
openssl req -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out www.website.local.crt -keyout www.website.local.key -config minimal.cnf
和minimal.cnf
prompt = no distinguished_name = req_dn x509_extensions = x509_ext
[ req_dn ]
commonName = www.website.local
[ x509_ext ]
subjectAltName = @alt_names
[alt_names] DNS.1 = www.website.local DNS.2 = website.local
然后当然从浏览器转到本地网站网址...单击网址旁的不安全按钮...浏览几个窗口和选项卡以导出证书,然后打开 chrome 设置并将证书导入为受信任的证书根证书,您最终应该为您的本地开发网站获得舒缓的灰色。
如果您连接到使用自签名证书的 Web 服务器,浏览器将显示警告。您可以通过告诉您的浏览器信任此证书来覆盖此警告,但没有什么好方法可以消除其他人的浏览器中的警告。
您需要由受信任的证书颁发机构签署的证书。正如 Richard Smith 指出的那样,您可以在 Let's Encrypt 免费获得所有主要浏览器都信任的一款。我鼓励您阅读有关自签名证书的维基百科文章 - 如果您正在使用 HTTPS 运行 Web 服务器,那么了解基础知识是个好主意。
另一个选项是
mkcert
,它基本上会安装本地受信任的CA,然后让您创建证书文件,请参阅github上的说明:https://github.com/FiloSottile/mkcert
这似乎是一种相对干净的方法,没有 @Stan Quinn 必须经历的麻烦,但很高兴知道除了安装本地信任的 CA 之外还有其他方法! “旧”方式(通过 openssl)似乎仍然可以在 Firefox 中使用,所以不知道为什么 chrome 一定是这样的 b****。
Windows 中浏览器信任自签名证书的方法之一是在本地计算机的受信任根证书颁发机构中安装证书。这使得浏览器通过本地证书信任源,并且不需要公共证书颁发机构。