mod_proxyにエンコードされたスラッシュ(/)文字を正しく転送させることができません(%2f)


11

リダイレクトするように仮想ホストを設定していますntung-gitblit.localhost-> myserver:1279。ただし、フォワードエンコードされたスラッシュ(%2f)では機能しません。私がアクセスしようとしているURLは、

http://ntung-gitblit.localhost/ABC%2fXYZ

がなければAllowEncodedSlashes、失敗します-Apache /error/HTTP_NOT_FOUND.html.varはサーバーにアクセスしようとします。に設定AllowEncodedSlashesするOnと、次の内部URLヒットが発生します。

http://myserver:1279/ABC/XYZ

に設定AllowEncodedSlashesするNoDecodeと、次のURLがヒットします。

http://myserver:1279/ABC%252fXYZ

言い換えれば、それは過剰なエスケープまたは過小なエスケープです。質問:どうやってヒットさせるのmyserver:1279/ABC%2fXYZですか?

回答:


11

申し訳ありませんが、ちょうどそれを得ました(ここで 3番目の答え)、解決策はディレクティブで使用nocanonすることですProxyPass

AllowEncodedSlashes On
ProxyPass / http://myserver:1279/ nocanon

役に立たなくなった質問は削除できます。


DenverCooper9ではないことに感謝します。xkcd.com/979
Portablejim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.