К самому nginx эта ошибка отношения не имеет (ну почти ничего). Он возвращается вашим вышестоящим сервером. Причина в том, что два заголовка HTTP-запроса, включая Хозяин
один из них всегда переопределяется, если только какое-либо другое поведение не указано явно с помощью proxy_set_header
директива:
По умолчанию переопределяются только два поля:
proxy_set_header Хост $proxy_host;
proxy_set_header Соединение закрыто;
Хозяин
значением заголовка переадресованного запроса будет bbs_server_pools
с вашей первой конфигурацией и ббс
со вторым. Однако допустимыми символами для имен хостов являются буквы ASCII из а
к г
, цифры из 0
к 9
, и дефис (-
).Хотя подчеркивание является допустимым символом для имени восходящего потока nginx, оно недопустимо для имени хоста, и это является причиной ошибки, которую вы получаете от своего восходящего потока. Обычно рекомендуется сохранять Хозяин
значение заголовка из исходного запроса с использованием
proxy_set_header Хост $host;
(или же $http_host
, вы можете проверить разницу здесь). Однако могут быть случаи, когда этого делать не следует; проверять это ответ, чтобы узнать больше информации по этому вопросу.