2017-07-28 7 views
0

Nginxに問題があります。 Nginxプロキシは、このようにurlencodeされたURIを受け取ります。Nginx Proxyでurlencodingを無効にする方法

GET /X/Y/Z.aspx?id=abc%3D%3D 

さらに、Nginxがurlencodingを再度適用し、このようなURIを作成することに気付きました。

GET /X/Y/Z.aspx?id=abc%253D%253D 

このようにurlencodingを適用するにはどうすればNginxを無効にできますか?私はそのままURIを転送したい。

リクエストURIを変更する方法はありますか?

nginxのドキュメントをよると、それは言う...だから、

$request_uri 
full original request URI (with arguments) 

は、私は以下のようにproxy_passを指定しました。

proxy_pass http://x.x.x.x$request_uri; 

Nginxは依然として以下のようにリクエストを送信します。

GET /X/Y/Z.aspx?id=abc%253D%253D 

Nginxはメッセージを送信するときにURLエンコードを適用するようです。だから、Nginxにリクエストを受け取ったときにデコードすることができますか? Nginxは送信時に自動的にエンコードする必要があります。つまり、以下のような期待されるパラメータで終了します。 URLデコードされていないよう

GET /X/Y/Z.aspx?id=abc%3D%3D 
+0

実際には、Nginxでは問題ありませんでした。私は実際にNginxの前に別のプロキシを持っていて、それは問題を作り出していました。 Nginxは、このプロキシから渡されたメッセージを転送するだけです。だから少なくとも、このケースは閉じなければならない。そのような結果で私のポストにお詫び申し上げます。 –

答えて

0

proxy_pass$request_uriを使用しないでください。クエリ文字列を含むURIを作成する場合は、次のようにします。

$uri$is_args$args 
関連する問題