目录
1.1. 使用openssl生成密钥privkey.pem:
1:编辑配置/usr/local/etc/nginx/servers(这是我Nginx的配置路径)
3:浏览器重新访问: https://leyangjun.com
一:ERR_CONNECTION_REFUSED错误
该原因大部分是你服务器访问不支持https协议,怎么验证呢,比如访问:http://leyangjun.com 域名如果可以正常访问,但是访问:https://leyangjun.com 域名无法访问且浏览器放回ERR_CONNECTION_REFUSED错误信息,说明你服务不支持https协议。
以下是浏览器返回的错误截图
二:解决方案(配置HTTPS协议)
如果需要支持https访问,需要配置HTTPS协议,支持SSL
三:具体配置操作步骤
1:生成对应的秘钥信息
我一般是创建一个新的文件地址保存该文件(可以自行决定,只要能区分或知道对应的绝对路径就好)
1.1. 使用openssl生成密钥privkey.pem:
openssl genrsa -out privkey.pem 1024/2038
1.2. 使用密钥生成证书server.pem:
openssl req -new -x509 -key privkey.pem -out server.pem -days 365
不断回车就行(提示的信息可以选填),证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。如xxx.com,或使用*.xxx.com匹配二级域名就行。以下是操作截图。
四:Nginx配置解析
我这边用的Nginx作为服务器(以下是service模块)
1:编辑配置/usr/local/etc/nginx/servers(这是我Nginx的配置路径)
#http服务 server { listen 80; server_name leyangjun.com; root /www/leyangjun/Web; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { #autoindex on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #include /usr/local/etc/nginx/php-fpm; include fastcgi_params; } access_log /usr/local/var/log/nginx/default.access.log main; error_page 404 403 500 502 503 504 /error.html; location = /error.html { root /Users/leyangjun/code/; } } #HTTPS服务 server { listen 443 ssl; server_name leyangjun.com; #证书位置(上面步骤生成的) ssl_certificate /usr/local/etc/ssl_key/server.pem; ssl_certificate_key /usr/local/etc/ssl_key/privkey.pem; ssl_session_timeout 5m; #协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #将请求转发到http location / { proxy_pass http://leyangjun.com; } }
2:重启Nginx服务
sudo nginx -s reload
3:浏览器重新访问: https://leyangjun.com
浏览器会告知这是不安全的证书:NET::ERR_CERT_AUTHORITY_INVALID,手动点击高级信任以下即可