nginx平滑升级添加ssl实现站内https
生活随笔
收集整理的這篇文章主要介紹了
nginx平滑升级添加ssl实现站内https
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
操作目錄在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.gznginx -V 查看目前nginx編譯選項,然后在新版本nginx下 執行,注意添加
--with-openssl=/home/nginx-1.8.0/openssl-1.0.0d選項
編譯,不要不要不要makeinstall
make之后會看在當前目錄生成objs文件,執行
./objs/nginx -Vnginx 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 -tok,執行更新
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等其他措施實現。*
參考鏈接
總結
以上是生活随笔為你收集整理的nginx平滑升级添加ssl实现站内https的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scala在挖财的应用实践
- 下一篇: 基的变换