У меня есть локальный сервер, работающий на 3000 портах, и он отправляет некоторый запрос POST на сервер nginx. Nginx должен проверить референт, если он не приходит с 127.0.0.1:3000 (со всеми подобластями), а затем возвращает 403 Restricted, в противном случае, если он действителен, перенаправляется на 9200/ошибки/конечную точку браузера.nginx - valid_referes dont work
В настоящее время он всегда перенаправляется независимо от того, действителен ли референт или нет. Я знаю, что в nginx if is evil, поэтому подход if-else не работает здесь.
server {
listen 127.0.0.1:9999;
server_name localhost;
location/{
valid_referers none blocked server_names ~someaddress;
if ($invalid_referer) {
return 403;
}
# redirect to this endpoint if referer is valid
return 307 http://localhost:9200/errors/browser;
}
}
'Referer' - это то, что вы видите в адресной строке браузера. Вы действительно видите там 127.0.0.1: 3000? –
И вообще, я не вижу '127.0.0.1: 3000' в вашем списке допустимых ссылок –