web-dev-qa-db-ja.com

nginxが特定のサブディレクトリをリバースプロキシしないようにする方法

Apacheでは、1つ以上のサブディレクトリ(「!」付き)を除くすべてをProxyPassできます。

    ProxyPass /subdir !
    ProxyPass / http://localhost:9999/

Nginxに相当するものは何ですか?

私の最初の推測は明らかに機能していません:

 location /subdir {
      root /var/www/site/subdir;
  }

 location / {
      proxy_pass http://localhost:9999/ ;
  }
11
Falken

次のように、proxy_passを好きなパスに正確にバインドできます

location = / {
    proxy_pass http://localhost:9999/;
}

これにより、/以外のパスは渡されなくなります。

OR

この構文を使用して、照合するサブディレクトリのみを指定できます

location ^~ /subdir {
     alias /var/www/site/subdir;
}

location / {
    proxy_pass http://localhost:9999/ ;
}

^~はサブディレクトリと一致し、検索を停止するため、/は実行されません。 こちら と記載されています。

11