自分への備忘録として。 http://example.com/api/hogehoge?foo=bar にアクセスされたら、 http://example.com:8000/hogehoge?foo=bar という形でリバースプロキシさせたいとき、ついついこんな風に書きたくなります。 location ~ ^/api/(.*)$ { proxy_pass http://example.com:8000/$1$is_args$args; } どういうことかというと、nginxのlocationディレクティブにおける正規表現のキャプチャは、uriデコードされたものがキャプチャされてしまうのです。 なので、もし http://example.com/api/hoge%20hoge こういうURIエンコード済みのURIだった場合、 "http://example.com:8000/hoge hog