资讯专栏INFORMATION COLUMN

nginx平滑升级添加ssl实现站内https

soasme / 2654人阅读

摘要:注意如果想完全实现全站,你的全站链接都得是的,否则绿锁会不显示。或者采取等其他措施实现。

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

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

下载nginx1.8 stable

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

下载openssl

wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
tar 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 -V

nginx version: nginx/1.8.0
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)
built with OpenSSL 1.0.0d 8 Feb 2011
TLS 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 -V
nginx version: nginx/1.8.0
built 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等其他措施实现。*

参考链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39208.html

相关文章

  • 阿里云免费购买SSL证书,nginx无缝升级https

    摘要:选择域名授权验证方式,您需要到您的域名解析服务商如万网新网等提供的系统中进行配置。例如,您的域名托管在阿里云,则需要到云解析控制台进行相关配置。生成之后的域名验证,在域名解析管理可以看到。 最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录。 以下包括以下部分: 一、阿里云免费购买SSL证书 1、自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书 2、...

    shery 评论0 收藏0
  • 阿里云免费购买SSL证书,nginx无缝升级https

    摘要:选择域名授权验证方式,您需要到您的域名解析服务商如万网新网等提供的系统中进行配置。例如,您的域名托管在阿里云,则需要到云解析控制台进行相关配置。生成之后的域名验证,在域名解析管理可以看到。 最近在升级交流学习社区,觉得有必要升级成https.以下是自己在升级中记录。 以下包括以下部分: 一、阿里云免费购买SSL证书 1、自己在阿里云申请了免费的,然后自己支付0元,购买了SSL证书 2、...

    AWang 评论0 收藏0
  • Linux下Nginx的安装、升级及动态添加模块

    摘要:新版本主进程退出的同时,旧版本主进程将会自动启动它的工作进程。下面我们来看一下如何给运行中的添加模块。 原文链接:http://xueliang.org/article/detail/20160615172540639 系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget...

    W4n9Hu1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<