NET::ERR_CERT_COMMON_NAME_INVALID
2018年8月26日
预计阅读:2min
NET:::ERR_CERT_COMMON_NAME_INVALID 或“您的连接不是私密连接”
Chrome58以后对https的证书认证较为严格,证书里必须带有正确的Common Name,也就是必须有Subject Alternative Name. Google官网介绍链接地址
本机环境
-
Mac: 10.12.6
-
NGINX:nginx/1.12.2
-
nginx 配置文件
server { listen 80; server_name git.hackshen.com; #charset koi8-r; #access_log logs/host.access.log main; location / { root /Users/hackshen/nginx-web/; index index.html index.htm; } error_page 500 502 503 /50x.html; location = /50x.html { root html; } } server { listen 443; server_name git.hackshen.com; ssl on; ssl_certificate /usr/local/etc/nginx/hackshen.crt; ssl_certificate_key /usr/local/etc/nginx/hackshen.key; location / { root /Users/hackshen/nginx-web; index index.html index.htm; } }
生成证书
1、在[ req ]一节下找到req_extensions = v3_req 取消注释
2、在[ v3_req ] 一节 增加 subjectAltName = @alt_names
3、在[ v3_req ] 一节 的上方增加一节
DNS.1 = i.alicdn.com
IP.1 = 127.0.0.1
4、生成csr
`openssl req -new -nodes -keyout server.key -out server.csr -config openssl.cnf`
5、生成公钥
`openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extensions v3_req -extfile openssl.cnf`
6、关于`openssl.cnf`我的Mac上装的有OpenSSL但是没有这个文件,博主是在自己的centos上拷下来的
安装证书
- 双击
server.crt
安装证书到钥匙串里,且在钥匙串里面要选择始终信任