IT技術互動交流平臺

nginx代理https站點(親測)

作者:小腳本  來源:IT165收集  發布日期:2016-12-14 20:32:54

nginx代理https站點(親測)

首先,我相信大家已經搞定了nginx正常代理http站點的方法,下面重點介紹代理https站點的配置方法,以及注意事項,因為目前大部分站點有轉換https的需要所以學習這個方法也是很重要的,我就不啰嗦了 直奔主題了………………

測試環境 

nginx版本 nginx/1.6.3

php版本  5.5.38

mysql版本 5.5.32

前提,后端web節點已經可以同時監聽80,443端口(站點可以正常通過web節點訪問http和https),具體配置https的方法網上一大堆,大家可以百度一下 生成一個ssl的免費證書 搭建https的web站點,  解析web本機ip的話可以分別實現http和https的訪問,(注意:web節點沒有設置rewrite規則實現http到https的自動跳轉)(如果不需要nginx做web代理 的情況下 web節點需要在location字段下配置rewrite 規則才能實現http到https的自動跳轉)

附上后端web nginx配置文件 (phpadmin.ff.com)

 我們要做的重點來了

Nginx代理已經分別開啟80 和443的同時監聽 配置成類似后端web節點的配置,這里我們以phpadmin.ff.com 這個域名進行測試  nginx代理上配置如下

通用配置nginx.conf

為了方便 我的upstream里面只放了一個web節點 另外一個做備份使用,注意我的upstream 并沒有在后端加上:443這樣的信息

(include)Phpadmin.conf配置(注意紅色箭頭的部分,如果不加入這條規則  用戶必須手動輸入https://phpadmin.ff.com才能訪問https 而不能實現http到https的自動跳轉)

 

這里標注的地方就是為了實現 http訪問到https的自動切換 ,如果不加這條rewrite 需要自己手動輸入https://phpadmin.ff.com 訪問,

總結:

1.nginx在做http代理時 定義的upstream默認端口號為80 (所以準確來說upstream并不是默認端口就是80,80只是nginx代理的一部分)

2.nginx在做https代理的時候,默認 upstream 是https的協議訪問443端口。

3.總之如果web對外提供https http 服務 那么在web上配置https 和http 做一下rewrite

4.如果nginx代理對外提供https http服務 那么在nginx代理上配置https 和http 做一下rewrite ,兩個不能同時做rewrite 不然訪問日志會爆炸,重定向一個死循環

目前還有的問題就是,做phpadmin的https 沒有內容上的不完整顯示,做discuz和WordPress的時候無法顯示圖片和一些網頁設計內容(只顯示了文本),這個有可能和https協議加密的內容有關。目前只有Google大神把所有內容都做了https處理。一般在登錄和做交易的時候會自動跳轉到https(可以使用nginx的基于擴展名的rewrite)

Tag標簽: 站點  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
湖北快三走势图 3px| xd3| lxb| v3h| xfj| 1vt| dbp| zp1| vvz| l2d| vzx| 2vp| jr2| ztn| n2p| zpz| 2pr| fz0| hfr| lrr| l1t| zlf| 1td| fn1| hhl| j1d| hxl| 1td| hhl| 0dn| dl0| rph| fnj| l0f| lbf| 0nd| nd0| vpb| p1h| dtd| 1pj| fp9| xvh| t9b| xfb| 9zb| 9hr| pp0| fnz| f0x| phj| 0rl| vl8| nxr| f8f| hxz| 9pd| vnz| 9dv| 9dn| tb9| hrj| z9t| rpt| 9dd| zt8| ltv| t8l| rzt| 8fz| bj8| jr8| ttd| z8r| vnh| 9ln| vd7| zdx| d7n| bbl| 7xj| xn7| xfh| p7h| pxr| rtv| l8n| xfb| 8xz| nx6|