首页 > 解决方案 > 在浏览器中使用 https://dev:8080/ 或其他 CNAME 而不会出现安全错误

问题描述

这里的机器是laptop.mylocaldomain.net,而dev 是一个CNAME 记录,将笔记本电脑主机与本地DNS 服务器别名。两者都响应 ping 并提供与预期相同的 IP 地址。

但是,无论是 Firefox、Chrome 还是 Edge,如果我从带有自签名证书的笔记本电脑导航到在 IIS 上运行的 https://dev:8080/,我会收到“未连接:潜在安全问题”错误并且无法连接到站点,但如果我使用相同 IP 地址的https://dev.mylocaldomain.net:8080/,则表示我收到警告:潜在安全风险警告,我可以继续访问该网站。

此外 https://laptop:8080/ 给出了相同的警告:潜在的安全风险警告,我可以继续访问该网站。只有 CNAME https://dev:8080/ 不起作用。

证书创建脚本:

#/bin/sh
sudo openssl genrsa -out LocalDevelopmentCert.key 2048
sudo openssl req -new -key LocalDevelopmentCert.key -sha256 -days 3650 -out LocalDevelopmentCert.csr -config openssl.cnf
sudo openssl x509 -req -days 3650 -in LocalDevelopmentCert.csr -signkey LocalDevelopmentCert.key -out LocalDevelopmentCert.crt -extensions v3_req -extfile openssl.cnf
sudo openssl pkcs12 -name "Local Development IIS Cert" -export -out LocalDevelopmentCert.pfx -inkey LocalDevelopmentCert.key -in LocalDevelopmentCert.crt

openssl.cnf 的 Alt Names 部分:

[alt_names]
DNS.1 = *.mylocaldomain.net
DNS.2 = dev
IP.1 = 192.168.XXX.XXX # <- IP address of dev laptop

我尝试将 CN 设置为各种地址排列,例如 dev、dev.mylocaldomain.net 等。它们似乎都不适用于浏览器。

我怎样才能让 https://dev:8080/ 工作?

更新 1:

Jesux Manager SSL 诊断报告部分:

BINDING: https *:8080:
SSLCertHash: b10671ac592ea5363db0a189fa72180d49ff1956
SSL Flags: None
Testing EndPoint: 127.0.0.1
Cannot find certificate with thumbprint b10671ac592ea5363db0a189fa72180d49ff1956 in store My.

Windows 10 上没有名为“我的”的商店。我检查了 MMC 中的每个商店的当前用户和本地计算机,以确保没有重复。

更新 2:

我使用以下方法生成了一个自签名证书,该证书报告为在 Jexus Manager 中工作,其属性显示该证书正常。

#!/bin/sh
echo "
[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_req
distinguished_name = dn

[dn]
C = MyCountry
ST = MyState
L = MyLocality
O = Local Org
OU = Local Org Unit
emailAddress = admin@mylocaldomain.net
CN = *.mylocaldomain.net

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = dev.mylocaldomain.net
DNS.2 = dev
DNS.3 = prod.mylocaldomain.net
DNS.4 = prod
DNS.5 = www
DNS.6 = laptop
DNS.7 = desktop
DNS.8 = localhost
">openssl.current.cnf

sudo openssl req -new -x509 -newkey rsa:2048 -sha256 -nodes -keyout localcert.key -days 3650 -out localcert.crt -config openssl.current.cnf
sudo openssl pkcs12 -export -out localcert.pfx  -inkey localcert.key -in localcert.crt -name "Local Dev Certificate"

它可以作为自签名证书 Edge 和 Chrome 正常工作,但不能在 Firefox 中使用。Firefox 是否要求您成为自己的 CA 以进行本地开发?

标签: iisdnsopensslcertificatecname

解决方案


推荐阅读