NginxでIf文を if ($host = 'www.example.com' && $request_uri ~ "/admin") という風には書けない。 入れ子にもできません。(ディレクティブなので?) そこで逃げ道は 文字列結合で判定。 if ($request_uri = /) { set $test A; } if ($host ~* teambox.com) { set $test "${test}B"; } if ($http_cookie !~* "auth_token") { set $test "${test}C"; } if ($test = ABC) { proxy_pass http://teambox-cms.heroku.com; break; }