2016-12-12 4 views
0

...nginxの設定(プロファイル)の切り替えは?次nginxの構成を考えると

upstream myupstream { 
    server localhost:9000; 
} 

location ~ ^/.* { 
    root /path/to/var ; 
    try_files $uri $uri/ /index.html =404; 

    # proxy_pass http://myupstream; 
    # proxy_redirect  off; 
    ... 
} 

私はそれぞれをコメントアウトすることなく、簡単に(ポート9000でノードのサーバーを使用して)プロキシの間で反転し、(は/ varにに/パス/)提供したいですブロック。別のnginx設定を切り替えるためのツールやネイティブなソリューションはありますか? (解決策はnginx -s reloadを使用する必要があります)

答えて

0

これを試してみてください。プロキシへの切り替えの場合は/anyurl/?test=1、ローカルディスクへのスイッチバックの場合は/anyurl/?test=0をリクエストしてください。

root /path/to/var; 
error_page 464 = @proxy; 

location/{ 
    # check if test argument found in request 
    if ($arg_test ~ ^\d+$) { 
     # set cookie and redirect to same location 
     add_header Set-Cookie "test=$arg_test"; 
     return 302 $uri; 
    } 
    if ($cookie_test = "1") { 
     # cookie "test" found, redirect to named location via custom error code 
     # it can be any unused http code same as in error_page directive 
     return 464; 
    } 
    try_files $uri $uri/ /index.html =404; 
} 

location @proxy { 
    proxy_pass http://myupstream; 
} 
+0

これは回避策です。ワンオフのために使用できるきちんとした回避策ですが、この解決策ではURLを変更する必要があります。私は実際のnginxの設定(nginx -s reloadを必要とする)を切り替える方法を見つけようとしています。 – dook

+1

ええええええええええええええええええええええええええええええええええええええええの人は... configの必要な部分をコピーし、nginxを再起動するbash / –

関連する問題