通过阿里云领取免费证书可将网站配置为https
步骤为下:
登陆阿里云点击sll证书,然后点击购买证书 选择免费的 然后立即购买
购买后会让你填写一些域名信息 然后提交签发证书
签发后点击下方下载 选择右方的nginx下载 (我的项目环境为 lnmp 所有需要选择 nginx 根据个人而定)
点击下载后然后解压安装包 会有两个文件
- .crt文件:是证书文件,crt是pem文件的扩展名。
- .key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。
然后打开winscp 在nginx配置文件目录中创建一个目录随意命名 我的是cert 把下载的两个文件上传到目录中
然后找到你证书绑定的域名的配置文件 修改为
server { #使http默认跳转https
listen 80 ;
server_name #网站url;
rewrite ^/(.*)$ https://#网站url/$1 permanent;
}
server { #https
listen 443 ssl; #改为http时改为80
server_name #网站url;
ssl on; #改为http时删除
root #网站访问地址 如 /home/wwwroot/www.xxx.com/public;
index index.html index.htm index.php; # 默认导航页
ssl_certificate /etc/nginx/cert/#证书文件名.pem; #改为http时删除 引入下载的文件
ssl_certificate_key /etc/nginx/cert/#证书文件名.key; #改为http时删除 引入下载的文件
ssl_session_timeout 5m; #改为http时删除
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #改为http时删除
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; #改为http时删除
ssl_prefer_server_ciphers on; #改为http时删除
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
80 端口为http访问端口 443为https访问端口 写两个是为了让访问http时直接跳转到https
具体配置的一些细节有的也是因人而异的 因为每个项目的环境都不同 所以有一点小差异 上面为大致操作
配置完 重启一下 nginx就Ok了 重启nginx service nginx restart
对了 记得开启防火墙的 443端口
google浏览器 此网站无法提供安全连接 ERR_SSL_PROTOCOL_ERROR
firefox浏览器 SSL_ERROR_RX_RECORD_TOO_LONG
nginx-1.15.5 版本配置https,不再需要ssl on;
端口监听要写成 listen 443 ssl;
而不能像旧版本写 listen 443;
,其它的不变。
不然会报这个错误。
如有需要咨询的可联系我 q:2938795129