Почему Tomcat версии 7.0.88 выдает код ошибки «400 Bad Request», если имя хоста оканчивается на xyx.com-abc.
Для целей тестирования предположим, что в файле hosts есть следующая запись
127.0.0.1 hello.hello.hello-erq
И мы пытаемся получить доступ к этому URL из curl
curl -v hello.hello.hello-er: 8080
Мы получаем следующий вывод
* Rebuilt URL to: hello.hello.hello-er:8080/
* Trying 127.0.0.1...
* Connected to hello.hello.hello-er (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> Host: hello.hello.hello-er:8080
> User-Agent: curl/7.49.0
> Accept: */*
>
< HTTP/1.1 400 Bad Request
< Server: Apache-Coyote/1.1
< Transfer-Encoding: chunked
< Date: Thu, 20 Dec 2018 19:53:09 GMT
< Connection: close
<
* Closing connection 0
При использовании localhost в URL получаем
C:\playground\apache-tomcat-7.0.88-windows-x64\apache-tomcat-7.0.88\bin>curl -v localhost:8080
* Rebuilt URL to: localhost:8080/
* Trying ::1...
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.49.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Type: text/html;charset=ISO-8859-1
< Transfer-Encoding: chunked
< Date: Thu, 20 Dec 2018 20:00:07 GMT
<
<!DOCTYPE html>
ВсеКонфигурации tomcat одинаковы для обоих тестов, и одна и та же проблема реплицируется на ванильный сервер tomcat.
Я пытался повторить ту же проблему на tomcat-8, но оба URL-адреса работали там нормально.Как я могу копать глубже и выяснить причину этой проблемы в 7.0.88?
Есть ли какие-нибудь дополнительные журналы, которые я могу включить, чтобы получить больше информации по этому вопросу?
Или единственное, что мне осталось, это выдернуть свои волосы и обновить?