1. 程式人生 > >記錄一次配置http跳轉https的過程

記錄一次配置http跳轉https的過程

http https 網站跳轉

公司最近搞了一個數據運營平臺,這個平臺會以web界面的形式把各個數據展示出來,這個項目是我們一個經理的重點關照項目。把平臺模塊部署完畢並且啟動之後,又把這個平臺服務器的外網IP綁定到alkaid.lechange.com這個域名上,在瀏覽器裏輸入https://alkaid.lechange.com ,就看到了前端同行們寫的網頁。


但是我們的霸氣經理說這樣不行,說要更多要求更高標準更好體驗,於是乎提出一個需求就是:在輸入alkaid.lechange.com的時候會自動跳轉到https://alkaid.lechange.com 。


既然如此,我們就在nginx上原有的nginx.conf裏補充幾個配置文件:

        #include upstream
        include upstream.conf;
        # include servers
        include alkaid.conf;
        include alkaid-https.conf;

這樣在執行nginx.conf的時候,就會調用upstream.conf、alkaid.conf和alkaid-https.conf,我們主要看一下這三個文件。


alkaid.conf文件如下:

server {
        listen 80;
        server_name *.lechange.com;
        proxy_buffering off;
        location / {
                rewrite ^/ https://alkaid.lechange.com permanent;
                client_max_body_size 100m;
        }
}


這裏我們監聽了80端口,下面那個 "client_max_body_size 100m" 是用來設定nginx+php上傳文件的大小,這裏規定是100m,這個可以寫進nginx.conf裏,如果有對上傳文件方面感興趣,可以看 http://www.cnblogs.com/zhwl/archive/2012/09/18/2690714.html 。


再來看看alkaid-https.conf,如下:

server {
        listen 10000;
        server_name *.lechange.com;
        proxy_buffering off;
        location / {
                proxy_pass http://alkaid_backend;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_redirect     off;
        }
}

這裏監聽了10000端口,location寫的是http://alkaid_backend ,這個alkaid_backend是啥東西?


這個時候我們就需要看一下upstream.conf,裏面內容是:

upstream alkaid_backend {
        server   X.X.X.X:JQK;
        check interval=5000 rise=2 fall=5 timeout=1000 type=tcp default_down=false;
}

X.X.X.X是模塊服務器的內網IP地址,而JQK是模塊服務器的模塊端口,這裏要根據實際的情況來寫。可見alkaid_backend對應的就是模塊服務器和它的端口,下面是檢查間隔等等數值。


現在我們啟動nginx,然後把nginx的外網地址綁定去alkaid.lechange.com這個域名,在瀏覽器裏輸入alkaid.lechange.com,就會達到自動跳轉的目的了!


這裏要額外多說一下,我們這裏設定了80的配置文件也設置了443的文件,但是這倆文件的轉發過程卻不同:alkaid-https.conf文件把443的請求轉向了平臺模塊服務器的服務,而alkaid.conf文件把凡是從80端口進來的請求直接全部永久重定向到https://alkaid.lechange.com ,但是這個alkaid.lechange.com還是會去訪問平臺模塊服務器的服務,也就是說alkaid.conf文件多了一步重定向。


本文出自 “生活就是等待戈多” 博客,請務必保留此出處http://chenx1242.blog.51cto.com/10430133/1941035

記錄一次配置http跳轉https的過程