nginx配置https证书

连接错误,不安全 并不是hsts的锅 chrome://net-internals/#hsts, 大部分原因还是证书的问题
NET::ERR_CERT_COMMON_NAME_INVALID
证书域名和实际访问的域名要匹配:SAN
证书中增加SAN域名

open ssl

openssl genrsa -out server.key 1024
openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=mykey/L=mykey/O=mykey/OU=mykey/CN=*.alibaba-inc.com/CN=*.alibaba.net/CN=domain3"

区分证书中的cn san
sudo vim /etc/pki/tls/openssl.cnf

nginx配置

 # HTTPS server
    
    server {
		
        listen       443 ssl;
        server_name  xxxx.alibaba.net;

        ssl_certificate      server.crt;  -- 这里同时也支持.pem
        ssl_certificate_key  server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

		proxy_set_header Host            $host;
		proxy_set_header X-Forwarded-For $remote_addr;
	
        location ~ / {
           proxy_pass   http://127.0.0.1:7001;
        }

		location = /nginx_status {
			return 200;
		}
    }

结果

在chrome中的正确示例

Q: 证书域名和实际域名不匹配 也能验证过?



这里用到了证书的可选验证name, 这样一个证书可以用于多个域名,renew方便管理

posted @ 2019-07-15 14:30  funny_coding  阅读(1294)  评论(0编辑  收藏  举报
build beautiful things, share happiness