Quando o ec2 alterna entre o DNS público e o IP público?

1

Eu tenho um aplicativo usando o Django, na configuração do Django existe uma lista de ALLOWED_HOSTS .

O aplicativo estava funcionando bem com o IP xxx.xxx.xxx.xxx na lista ALLOWED_HOSTS .

Em seguida, ele lançou o erro do Django em "Invalid HTTP_HOST header: 'ec2-xx-xxx-xxx-xxx.region.compute.amazonaws.com'. You may need to add 'ec2-xx-xxx-xxx-xxx.region.compute.amazonaws.com' to ALLOWED_HOSTS."

Embora eu possa consertar isso adicionando uma nova entrada para ALLOWED_HOSTS , gostaria de saber como / quando o cabeçalho HTTP_HOST alterna entre formulários IP e DNS para o AWS EC2.

Ref: Django ALLLOWED_HOSTS link

    
por cryanbhu 11.07.2018 / 11:02

1 resposta

0

O cabeçalho Host: HTTP é fornecido pelo cliente (por exemplo, navegador da Web ou biblioteca de APIs) e geralmente é o nome exato que o cliente contou para acessar - basicamente, é retirado do URL.

Então, se você tentar acessar http://ec2-xx.amazonaws.com/page.html , o servidor receberá:

GET /page.html HTTP/1.1
Host: ec2-xx.amazonaws.com

Embora se houver algo no meio da solicitação de HTTP, por exemplo, um proxy reverso ou um balanceador de carga HTTP - ele pode substituir o cabeçalho Host: por seu próprio.

    
por 11.07.2018 / 15:23