ProxyPass / http://localhost:9292/
ProxyPassReverse / http://localhost:9292/
上のようにして Apache にリバースプロキシを設定したところ,クライアント側から要求した URL にセミコロン ;
を URL エンコードした %3B
が含まれるとき,オリジンサーバ (localhost:9292
) に要求される URL はセミコロンの前だけになってしまった.また,カンマ ,
をエンコードした%2C
が含まれるときはこれをデコードした ,
に置き換えられた URL がオリジンサーバに要求された.
検索により記事『mod_proxyを経由するとURIが勝手にデコードされる - 脱線こそ本道』を見つけた.次のように nocanon
を与えて解決した.
ProxyPass / http://localhost:9292/ nocanon
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html によれば (日本語:http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html),no canonicalization の意.http://en.wikipedia.org/wiki/Canonicalization によれば canonicalization は standardization or normalization
の意.また,abbreviated c14n, where 14 represents the number of letters between the C and the N
.http://en.wiktionary.org/wiki/canonicalize によると語源は canonical + -ize
.New Oxford American Dictionary によると canonical は according to or ordered by canon law
,accepted as being accurate and authoritative
,relating to a general rule or standard formula
.https://ja.wikipedia.org/wiki/%E6%95%99%E4%BC%9A%E6%B3%95 (英語:https://en.wikipedia.org/wiki/Canon_law) によると canon law は 教会法
.