您好,登錄后才能下訂單哦!
公司最近搞了一個數據運營平臺,這個平臺會以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文件多了一步重定向。
最后的最后,如果您覺得本文對您升職加薪迎娶白富美有幫助,那么請不吝贊助之手,刷一下下面的二維碼,贊助本人繼續寫更多優秀的博文!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。