Posted at

nginxのproxy_passでハマった

More than 3 years have passed since last update.

/api/ではじまるURLをすべてlocalhost:8080で処理したい。

location /api/ {

proxy_pass http://localhost:8080/;
}

http://localhost/api/hoge/にアクセスするも404。

http://localhost:8080/api/hoge/ではちゃんと結果が返ってくる。

ググった結果解決。

proxy_pass http://localhost:8080/;

と設定した場合、

http://localhost:8080/hoge/とアクセスされるようだ。/api/の部分が省略されてしまう。

proxy_pass http://localhost:8080;

とすると(最後のスラッシュを消しただけ)、

http://localhost:8080/api/hoge/に正しくアクセスされた。

軽くハマったのでメモ。