我正在尝试生成一个自签名证书,以便我的本地开发环境使用 HTTPS,但我遇到了一些麻烦。这样做的原因是我想通过我的本地网络(通过我的本地 IP 192.168.1.155
)在我的手机上测试推送通知,并且通知只能通过安全上下文工作。
它似乎只在我去的时候工作localhost:8080
,并且在导航到时仍然不安全127.0.0.1:8080
。当我导航到127.0.0.1:8080
Chrome 的安全页面时说:This site is missing a valid, trusted certificate (net::ERR_CERT_COMMON_NAME_INVALID).
这是我用来生成证书的设置:
请求.cnf:
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = VA
L = SomeCity
O = MyCompany
OU = MyDivision
CN = 127.0.0.1
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = 127.0.0.1
DNS.3 = 192.168.1.155
openssl req -newkey rsa:2048 -x509 -nodes -keyout key.pem -new -out cert.pem -config req.cnf -sha256 -days 3650
我想也许我的CN
或alt_names
不正确的,但我不确定将它们更改为什么以使站点始终安全运行(通过 localhost、127.0.0.1 或 192.168.1.155)