1. 程式人生 > >關於nginx反向代理後session問題

關於nginx反向代理後session問題

    本人新手一枚,最近要在一個外網伺服器上提供訪問內網某機器中hive的功能。鑑於內網已經安裝好現成的hive服務,於是想通過nginx重定向到hive服務。

    剛開始簡單的使用location + proxy_pass 實現重定向,效果很明顯,訪問外網伺服器直接跳轉成功,但是發現每次訪問都需要重新登入hive賬號,配置如下:

        location /hue/ {
proxy_pass http://192.168.2.6:8888/beeswax/;
}

    在網上找了很多資料,大多都是在說cookie傳遞的問題,我也嘗試了,可是都不行,感覺一個很簡單的問題,卻困擾了我半天。

    之後我嘗試用upstream負載均衡來實現,程式碼如下:

    upstream hue {
    server 192.168.2.6:8888;
    }

    location / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://hue;
        }

    關於 proxy_set_header 等配置網上一艘一大把,以上程式碼配置完測試是能解決session問題的,但是我並不想把重定向放在根目錄下,嘗試放在其他目錄後發現會報錯404,網上也有人說session保持不能用於二級目錄的重定向,具體原因未知。。。不過問題是解決了,記錄下來以便之後繼續學習原因,也請各位大神在閒暇之餘能給予解答!