Перенаправление AWS ELB на https предоставляет внутреннее имя хоста - PullRequest
1 голос
/ 11 мая 2019

Мы запустили веб-сервер за AWS ELB.Мы делаем пару вещей на ELB:

  • SSL-завершение.Запросы, идущие от ELB к веб-серверу: http.
  • Перехват http запросов и перенаправление на https

При выполнении ручных тестов я наблюдаю, что Location заголовок, возвращаемый из ELB, дает внутреннее имя хоста AWS нашего веб-сервера, а не общедоступное имя домена, если я отправляю пустой заголовок Host:.

Пример:

$ curl http://my.site.net/ -v -I --http1.0 --Header 'Host:'
*   Trying 100.101.102.103...
* TCP_NODELAY set
* Connected to my.site.net (100.101.102.103) port 80 (#0)
> HEAD / HTTP/1.0
> User-Agent: curl/7.63.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Server: awselb/2.0
< Date: Fri, 10 May 2019 23:46:54 GMT
< Content-Type: text/html
< Content-Length: 150
< Connection: close
< Location: https://internal-mysite-1234567890.us-west-2.elb.amazonaws.com:443/

Внутреннее DNS-имя ELB никогда не должно раскрываться публично.Как я могу настроить это правильно, чтобы он не выставлялся?

1 Ответ

0 голосов
/ 14 мая 2019

@ ДжеймсДин прав. После дальнейшего изучения я выяснил, что ELB относится к типу Application Load Balancer. Функция перенаправления была включена и настроена для перенаправления на произвольное имя хоста.

Обновление имени хоста до общедоступного URL-адреса устранило проблему.

...