以下をnginx.conf
含めて
location /beta/ {
proxy_pass http://otherhost/;
}
次に、次の両方の取得が機能します。
curl -H 'User-Agent: Mozilla' http://localhost/beta/admin.html
curl -H 'User-Agent: iPhone' http://localhost/beta/admin.html
彼らは両方とも取得しますhttp://otherhost/admin.html
nginx.conf を次のように変更すると:
location /beta/ {
if ($http_user_agent ~ iPhone ) {
}
proxy_pass http://otherhost/;
}
その後、curl -H 'User-Agent: Mozilla' http://localhost/beta/admin.html
引き続き動作し
curl -H 'User-Agent: iPhone' http://localhost/beta/admin.html
ますが、404 が表示され、otherhost は というファイルがないと不平を言いますbeta/admin.html
。if
これは、が空であるかどうかに関係なく発生します。
は?