前言:本身想配置一下微信小程序跳转页面结果发现个人小程序不支持,配置了那么久结果不行发现自己的内心还是很崩溃的,心态崩了啊~但是学习配置https还是很值得记录的。服务器系统使用的是centos7,Windows比着葫芦画瓢也没问题。那我们开始吧 ~
1.申请免费的SSL证书
阿里云和腾讯云都有免费的ssl证书,我这里用阿里云举例
(1).进入控制台,在搜索框输入SSL证书
(2).点击购买证书
证书品牌选择Symantec,自己配置一下就能找到免费的
点击下载
2.配置Nginx
点击帮助,按照阿里云官方配置方法进行配置
或者点击在Nginx或Tengine服务器上安装证书直接查看,文档写的很详细,我就不过多赘述
3.配置服务器
(1).配置安全组
这里以阿里云的ECS为例,进入控制台找到安全组
创建一个端口号为443的规则
(2).配置防火墙
登入服务器,键入
firewall-cmd --permanent --zone=public --add-port=443/tcp --permanent
提示success,表示设置成功。
重启防火墙
firewall-cmd --reload
到这里基本上就结束了,但是我配置完之后发现还是有点问题,打开页面之后发现样式有点崩 F12一看,http请求都被拦截了,所以我们还需要一点小配置,在443server的local中加入
add_header Content-Security-Policy upgrade-insecure-requests;
server {
listen 443 ssl;
server_name www.xxx.cn;
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名称。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
add_header Content-Security-Policy upgrade-insecure-requests;
proxy_pass http://localhost:8090;
root html;
index index.html index.htm;
}
}
如果想打开http的页面自动转跳到https的话在80的server中加上
return 301 https://www.xxx.cn$request_uri;
server {
listen 80;
server_name www.xxx.cn;
root html;
index index.html index.htm;
return 301 https://www.xxx.cn$request_uri;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://xxx;
#root html;
#index index.html index.htm;
}
行了,就酱吧,按流程来的话,大差不差的就都能跑起来了。