wss 连接中忽略的自签名证书 SAN
self-signed certificate SANs ignored in wss connection
可以通过 IP 和 DNS 访问 Web 服务。
使用以下命令创建一个包含 DNS 作为通用名称、DNS 和 IP 作为 subjectAlternativeName 的自签名证书
openssl req \
-x509 \
-nodes \
-subj "/O=www.example.com/CN=${domain_name}" \
-addext "subjectAltName=DNS:${domain_name},IP:${ip_addr}" \
-newkey rsa:4096 \
-keyout /path/to/key.pem \
-out /path/to/cert.pem \
-addext "extendedKeyUsage = serverAuth" \
-days 365
通过IP地址打开网页并接受浏览器警告有效
该页面启动新的 WSS 连接到 DNS,但由于证书无效而失败。
我应该如何设置我的证书,以便浏览器在启动 wss 连接时信任 IP 和域名
在接受关于不受信任证书的安全警告时添加安全例外不是针对证书,而是针对来自URL的证书和域和端口的组合。由于 HTML 是通过 IP 地址访问的,而 websocket 是通过主机名访问的,因此为第一个添加的例外不会涵盖第二个。
最好的方法是首先不要接受安全警告,而是在浏览器中将证书添加为受信任。在这种情况下,证书中给出的所有 IP 和域都将信任该证书。
可以通过 IP 和 DNS 访问 Web 服务。
使用以下命令创建一个包含 DNS 作为通用名称、DNS 和 IP 作为 subjectAlternativeName 的自签名证书
openssl req \
-x509 \
-nodes \
-subj "/O=www.example.com/CN=${domain_name}" \
-addext "subjectAltName=DNS:${domain_name},IP:${ip_addr}" \
-newkey rsa:4096 \
-keyout /path/to/key.pem \
-out /path/to/cert.pem \
-addext "extendedKeyUsage = serverAuth" \
-days 365
通过IP地址打开网页并接受浏览器警告有效
该页面启动新的 WSS 连接到 DNS,但由于证书无效而失败。
我应该如何设置我的证书,以便浏览器在启动 wss 连接时信任 IP 和域名
在接受关于不受信任证书的安全警告时添加安全例外不是针对证书,而是针对来自URL的证书和域和端口的组合。由于 HTML 是通过 IP 地址访问的,而 websocket 是通过主机名访问的,因此为第一个添加的例外不会涵盖第二个。
最好的方法是首先不要接受安全警告,而是在浏览器中将证书添加为受信任。在这种情况下,证书中给出的所有 IP 和域都将信任该证书。