У меня есть конфигурация nginx для обратного порта прокси-80 -> порт 3000.
server {
listen 80;
// ...
location ~ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Я пытаюсь отправить другой URL (например, /NotSupport
), если URL совпадает с regex, а пользовательский агент ниже IE9.
, поэтому я изменил свою конфигурацию на ..
server {
listen 80;
// ...
location ~* ^/(.+)/guide$ {
if ($http_user_agent ~* '(MSIE 9.0|MSIE 8.0|MSIE 7.0|MSIE 6.0)') {
return 301 /NotSupported;
}
}
location ~ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
И вот моя проблема.
Потому что * Блок местоположения 1019 * является эксклюзивным, если местоположение пользователя соответствует ~* ^/(.+)/guide$
, но не ниже ie9, он ничего не делает. (что нужно сделать, так это перейти к правилу местоположения ниже, как и другим)
Какова наилучшая практика для этого обстоятельства? скопировать и вставить? или поставить блок внутри правила основного местоположения?
Я такой новичок ie до nginx, помогите мне, пожалуйста!