最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录。
以下包括以下部分:
一、阿里云免费购买SSL证书
1、自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书
2、我选择DNS验证
3、在SSL证书中,下载cert证书,然后放到nginx服务器上
二、nginx无缝升级https
4、查看nginx是否支持ssl
5、配置ssl模块
6、重新编译一下
7、因为这次是升级nginx,所以不需要执行 make install,首先备份原nginx执行脚本
8、把新编译的nginx执行脚本拷贝到相应的目录下:’
9、最后进行平滑升级
10、再次检查nginx是否有https模块
附注1:nginx配置SSL报错问题,ssl on报错
附注2:nginx的https服务配置
1、自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书
2、我选择DNS验证,因为域名是自己的。
4、查看nginx是否支持ssl:
查看 configure arguments 信息中是否包含 -with-http_ssl_module 字样
5、配置ssl模块
找到之前安装 Nginx 时的解压目录,配置ssl模块:
6、重新编译一下
在解压目录执行make
7、因为这次是升级nginx,所以不需要执行 make install,首先备份原nginx执行脚本:
8、把新编译的nginx执行脚本拷贝到相应的目录下:
9、最后进行平滑升级
10、再次检查nginx是否有https模块
附注1:nginx配置SSL报错问题,ssl on报错
需要配置模块ssl模块 --with-http_ssl_modul,请查看本文的第二部分:2、配置ssl模块
附注2:nginx的https服务配置
server </span><span style="color: #008000;">{</span><span style="color: #008000;">
listen 443;
server_name www.mwcxs.top;
ssl on;
root /home/nodejs/liblog/www;
index index.js index.html index.htm;
ssl_certificate /usr/local/nginx/cert/15420110408020120565539868.crt;
ssl_certificate_key /usr/local/nginx/cert/15420110408020120565539868.key;
ssl_session_cache shared:SSL:1m;
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;
if ( -f $request_filename/index.html ){
rewrite (.</span><span style="color: #008000;">*)</span> $<span style="color: #800080;">1</span>/index.html <span style="color: #0000ff;">break</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">if</span> ( !-f $request_filename )<span style="color: #008000;">{</span><span style="color: #008000;">
rewrite (.</span><span style="color: #008000;">*)</span> /<span style="color: #000000;">index.js;
}
location </span>/ <span style="color: #008000;">{</span><span style="color: #008000;">
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://learning_community_node$request_uri;
proxy_redirect off;
</span><span style="color: #008000;">}</span><span style="color: #000000;">
location </span>= /production.js <span style="color: #008000;">{</span><span style="color: #008000;">
deny all;
</span><span style="color: #008000;">}</span><span style="color: #000000;">
location </span>= /testing.js <span style="color: #008000;">{</span><span style="color: #008000;">
deny all;
</span><span style="color: #008000;">}</span><span style="color: #000000;">
location ~ </span>/static/ <span style="color: #008000;">{</span><span style="color: #008000;">
etag on;
expires max;
</span><span style="color: #008000;">}</span><span style="color: #000000;">
}
server </span><span style="color: #008000;">{</span><span style="color: #008000;">
listen 80;
server_name www.mwcxs.top mwcxs.top;
<span style="color: #ff0000;"><strong>return 301 https://$server_name$request_uri;
</strong></span></span><span style="color: #008000;">}</span></pre>
注:return 301 https://$server_name$request_uri;用来把http转换成https。欢迎关注:,欢迎fork和start
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。