Задать вопрос
@luxter

На что ругается nginx?

Добрый день. Есть такая конструкция, на которую от nginx идёт ругательный выхлоп:

server {
...
location / {
                if ($http_referer != "demo.company.ru" && $remote_addr != 192.168.88.0/24) {
                return 404;
}
}


nginx: [emerg] invalid condition "$http_referer"

Понимаю, что if - табу, но постарался минимизировать его использование, и тем не менее ошибка мне непонятна. Буду благодарен за подсказку.
  • Вопрос задан
  • 412 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
Решения вопроса 1
dvershinin
@dvershinin
High performance web server engineer
nginx ругается на && потому что логическое and и or не поддерживаются в директиве if.

Это как раз одна из многих причин, почему map просто придётся использовать :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Xilian
Программист 1С, сетевые технологии, SQL
На глаз if ($http_referer != "demo.company.ru" && $remote_addr != 192.168.88.0/24) должен быть в блоке server, а не location.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы