目录
一:ERR_CONNECTION_REFUSED错误
二:解决方案(配置HTTPS协议)
三:具体配置操作步骤
1:生成对应的秘钥信息
1.1. 使用openssl生成密钥privkey.pem:
1.2. 使用密钥生成证书server.pem:
四:Nginx配置解析
1:编辑配置/usr/local/etc/nginx/servers(这是我Nginx的配置路径)
2:重启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,手动点击高级信任以下即可