博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx平滑升级添加ssl实现站内https
阅读量:6438 次
发布时间:2019-06-23

本文共 2089 字,大约阅读时间需要 6 分钟。

操作目录在root的home下,/home

/mt/server/nginx/sbin/nginx 这是x云默认nginx 路径

下载nginx1.8 stable

wget http://nginx.org/download/nginx-1.8.0.tar.gztar zxvf nginx-1.8.0.tar.gz cd nginx-1.8.0

下载openssl

wget http://www.openssl.org/source/openssl-1.0.0d.tar.gztar zxvf openssl-1.0.0d.tar.gz

nginx -V 查看目前nginx编译选项,然后在新版本nginx下 执行,注意添加

--with-openssl=/home/nginx-1.8.0/openssl-1.0.0d选项

./configure --user=www --group=www --prefix=/mt/server/nginx --with-http_stub_status_module --with-openssl=/home/nginx-1.8.0/openssl-1.0.0d --without-http-cache --with-http_ssl_module --with-http_gzip_static_module --with-...

编译,不要不要不要makeinstall

make

之后会看在当前目录生成objs文件,执行

./objs/nginx -Vnginx version: nginx/1.8.0built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)built with OpenSSL 1.0.0d 8 Feb 2011TLS SNI support enabled

发现TLS SNI support enabled这我们可以放心用了,这可以实现一个ip多个站点。

但是

nginx -v 这时候还是老版本的nginx,下面我们需要做的比较关键

我们需要先备份

mv /mt/server/nginx/sbin/nginx /mt/server/nginx/sbin/nginx.old

然后转移

cp ./objs/nginx /mt/server/nginx/sbin/nginx

测试下

/mt/server/nginx/sbin/nginx -t

ok,执行更新

make upgrade

然后的最后

nginx -Vnginx version: nginx/1.8.0built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)built with OpenSSL 1.0.0d 8 Feb 2011...

到此就成功了升级了nginx并且添加了TLS SNI support

最后的步骤就是接,配置nginx文件就好。

申请完证书,会有对应的web服务器的配置参考。这里简单贴下

server { listen 443 ssl; ssl on; server_name www.maipingzheng.com; root /mt/www/mycnart1.2.0.1/; index index.php; ssl_certificate /mt/server/nginx1.2.5/conf/ssl/1_www.maipingzheng.com_bundle.crt; ssl_certificate_key /mt/server/nginx1.2.5/conf/ssl/2_www.maipingzheng.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:xxxxxxxxxxxxGH:+MEDIUM:+LOxxxxXP; ssl_prefer_server_ciphers on;}

解决http二级域名跳转https,解决http根域名跳转https

server { listen 80; server_name maipingzheng.com; if ($host != 'www.maipingzheng.com') { rewrite ^/(.*)$ https://www.maipingzheng.com/$1 permanent; }}

全站跳转https

server { listen 80; server_name www.maipingzheng.com; rewrite ^/(.*)$ https://www.maipingzheng.com/$1 permanent;}

ok,收工。

*注意:如果想完全实现全站https,你的全站链接都得是https的,否则绿锁会不显示。
至于如何平衡,就看具体需求了,一般都是注册登录支付购买。
或者采取js等其他措施实现。*

转载地址:http://cakwo.baihongyu.com/

你可能感兴趣的文章
2017 JMP Discovery Summit China圆满落幕
查看>>
9 Easy Steps for Successful Data Migration
查看>>
人工智能,不止于技术的革命--WOT2017全球创新技术峰会开幕
查看>>
mysql 在大型应用中的架构演变
查看>>
ibm系列文章 --> Windows 到 Linux 之旅
查看>>
全备份失败后,如何手工清除exchange日志文件,附微软KB
查看>>
java如何连接mysq之源码l讲解
查看>>
企业运维笔试考题(1)
查看>>
Mysql修改存储过程相关权限问题
查看>>
4.2权限管理
查看>>
彻底理解ThreadLocal
查看>>
Node.js~ioredis处理耗时请求时连接数瀑增
查看>>
企业如何走出自己的CRM非常之道?
查看>>
整合看点: DellEMC的HCI市场如何来看?
查看>>
联合国隐私监督机构:大规模信息监控并非行之有效
查看>>
韩国研制出世界最薄光伏电池:厚度仅为人类头发直径百分之一
查看>>
惠普再“卖身”,软件业务卖给了这家鼻祖级公司
查看>>
软件定义存储的定制化怎么走?
查看>>
“上升”华为碰撞“下降”联想
查看>>
如何基于Spark进行用户画像?
查看>>