Назад | Перейти на главную страницу

nginx и заголовок хоста с @ в имени хоста - обслуживается неправильный сайт

Я установил сервер по умолчанию для своего nginx, который должен отвечать на все запросы на основе IP, а также на все поддельные и любые другие. Это срабатывает почти всегда.

Запрос сайта, подобного следующему, обслуживает сайт из моего приложения вместо сервера по умолчанию:

http https://my-app.com 'Host:my-app.com:443@whateverfake.com'

Запрашивая это так:

http https://my-app.com 'Host:myyy-app.com:443@whateverfake.com'

Обслуживается сайт по умолчанию.

В моем приложении есть обычная строка server_name, например:

server_name my-app.com;

Как это можно правильно настроить? Или это ограничение в nginx? Или у меня плохо? @ In hosts обычно используется при указании базовой аутентификации, верно?

Дополнительная информация: мое приложение Django, получив запрос, жалуется, что заголовок недействителен согласно RFC 1034/1035. Так, может быть, nginx должен немедленно сбросить запрос?

Еще больше информации: такое поведение было обнаружено во время проверки безопасности. Так что это не имеет ничего общего с реальным миром ...