Nginx
將 proxy_pass 與 nginx 一起使用時以正確的方式附加查詢參數
我的 nginx 代理傳遞配置設置如下:
location /try-me { proxy_pass https://some-domain.com?id=true&zone=false }
這工作正常。但問題是當瀏覽器中的某個人嘗試
https://mywebsite.com/try-me?ping=true&foo=bar
在 proxy_pass 之後創建的最終 URL 是:
https://some-domain.com?id=true&zone=false?ping=true&foo=bar
查詢參數格式完全不正確。如何確保 Nginx附加以下列方式轉發的任何查詢參數:
id=true&zone=false&ping=true&foo=bar
使用它可能
rewrite...break
比試圖proxy_pass
正確地做到這一點更好。例如:
location /try-me { rewrite ^ /?id=true&zone=false break; proxy_pass https://some-domain.com; }
該
rewrite
指令將正確附加原始參數。有關詳細資訊,請參閱此文件。在上面的範例中,任何以 開頭的 URI
/try-me
都將/
使用調整後的查詢字元串重寫。