読者です 読者をやめる 読者になる 読者になる

うまいぼうぶろぐ

linuxとhttpdとperlのメモ

nginxでerror_pageにproxy_pass配下のURLを指定する

たぶん普通?は逆で、例えば 403 error時にproxy_passではなく
localのerror_pageを見せたいというときは
こう。

error_page 403 /403.html;
proxy_intercept_errors on; 

今回は、403 error時にbackendのapacheの特定のURLを見せたいという場合
named locationでいけた。

error_page 403 @error;
proxy_intercept_errors on

location @error {
  set $error_page "/index.jsp";
  proxy_pass http://backend-tomcat$error_page;
}


proxy_passには直接urlを書くとsyntax errorになったので
一旦変数をかましている。

proxy_pass" cannot have URI part in location