首頁  >  文章  >  運維  >  nginx反向代理程式怎麼傳遞參數

nginx反向代理程式怎麼傳遞參數

(*-*)浩
(*-*)浩原創
2019-11-01 11:21:1221443瀏覽

Nginx 伺服器的反向代理服務是其最常用的重要功能,由反向代理服務也可以衍生出許多與此相關的Nginx 伺服器重要功能,例如後面會介紹的負載平衡。

nginx反向代理程式怎麼傳遞參數

反向代理,其實客戶端對代理是無感知的,因為客戶端不需要任何設定就可以訪問,我們只需要將請求傳送到反向代理伺服器,由反向代理伺服器去選擇目標伺服器取得資料後,在返回給客戶端,此時反向代理伺服器和目標伺服器對外就是一個伺服器,暴露的是代理伺服器位址,隱藏了真實伺服器IP位址。 (推薦學習:nginx教學

nginx反向代理設定:

 location ~ \/someuri {
        access_log /var/log/nginx/uploads.log;
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 300;
        proxy_pass $scheme://proxy_location$uri;
        recursive_error_pages on;
    }

如上面程式碼所示,可以進行反向代理,但這會有問題:

如果在url裡面加了請求參數,用$scheme://proxy_location$uri轉發後是不帶這請求參數的,所以不能使用$uri這個變量,如需要繼續攜帶請求參數,則需要使用$request_uri,即proxy_pass $scheme://proxy_location$request_uri;

以上是nginx反向代理程式怎麼傳遞參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn