2017-05-16 11 views
0

/admin/foo/path(とadmin/foo/p1/p2など)と一致する必要があります。アップストリームサーバーが利用できない場合、nginxのクラッシュを避けるためにproxy_passを直接使用するのではなく変数を使用する必要があります。私は(正規表現無し)/admin/foo用に別の場所を持つなど、いくつかの方法を、試してみたnginxの場所のパスの一致の問題

location ~ /admin/foo/(.*) { 
    auth_basic   "Admin console"; 
    auth_basic_user_file /etc/nginx/.htpasswd; 
    resolver 127.0.0.11 valid=0s; 
    set $target http://admin-console:80/$1; 
    proxy_pass $target; 
} 

が、何も作業していない:私は持っています。

答えて

0

私はこの構成をテストしました。
/admin/foo//some/location/admin/foo/の両方がproxy_pass〜http://admin-console/です。

upstream admin-console { 
    server admin-console:80; 
} 

server { 
    location ~ /admin/foo/(.*) { 
     proxy_redirect  off; 
     proxy_pass   http://admin-console/$1; 
    } 
} 
+0

ありがとう - 私は質問に記載されているように、$ target変数とリゾルバを使用する必要があります。それ以外の場合、nginxが起動したときにadmin-consoleがダウンすると、nginxがクラッシュします。また、/ admin/foo(スラッシュなし)と/ admin/foo/path(/ some/location/admin/fooではなく)が必要です。 –

関連する問題