うまいぼうぶろぐ

linuxとhttpdとperlのメモ

nginx のproxy_passするときのホスト名指定とresolver

(OS違ったけど詳細忘れた)現象が発生するサーバとしないサーバあったので、これだけが原因じゃないかも。とりあえず心に留めておく。

location /hoge/ {
  proxy_pass "http://example.com/";
} 

これは問題なく動いた。

proxy_pass先でurlまで指定すると

location /hoge/ {
  proxy_pass "http://example.com/hoge/";
} 

"no resolver defined to resolve"というエラーで502 Bad Gatewayが出た。
(もちろんosの/etc/resolv.confにはdns server指定している)

resolver でdns server指定したら動いた

location /hoge/ {
  resolver 8.8.8.8;
  proxy_pass "http://example.com/hoge/";
}