nginx反向代理怎么傳遞參數

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;

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享