Por padrão, o cabeçalho Host nas requisições de origem enviadas pelo CDN corresponde ao nome de domínio acelerado. Este recurso permite personalizar o valor do cabeçalho Host nessas requisições.
Sobre hosts de origem padrão
Se você fornece recursos estáticos diferentes a partir de vários nomes de domínio acelerados, uma abordagem comum é configurar um servidor de origem separado para cada domínio.
No entanto, manter vários servidores é ineficiente, especialmente para nomes de domínio acelerados com baixo tráfego de origem. O uso de hospedagem virtual resolve esse problema.
Hospedagem virtual
A hospedagem virtual permite que um único servidor web hospede vários sites. O servidor distingue e isola os sites por meio de diferentes nomes de domínio ou hostnames. Quando um usuário solicita um nome de domínio ou hostname específico, o servidor encaminha a requisição para o site virtual correspondente e retorna o conteúdo adequado.
Implementação no Nginx
O Nginx utiliza blocos server para configurar múltiplos sites virtuais. O exemplo a seguir mostra uma configuração básica:
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
Essa configuração define três sites virtuais: example.org, example.net e example.com. O Nginx compara o cabeçalho Host com o server_name para selecionar o site virtual correto. Caso não haja correspondência, o Nginx serve o conteúdo do site virtual padrão. Se nenhum site padrão for configurado explicitamente, o primeiro bloco server assume essa função.
Host de origem padrão
Ao acessar uma URL, se o cabeçalho Host não for especificado, o cabeçalho Host da requisição assumirá, por padrão, o host e a porta da URL. O CDN substitui esse comportamento definindo o cabeçalho Host como o nome de domínio acelerado. É possível personalizar esse valor padrão com base na configuração de hospedagem virtual do seu servidor de origem.
Configure o servidor de origem para usar o cabeçalho Host no roteamento de requisições para os diferentes sites virtuais. Caso contrário, este recurso não funcionará corretamente.
Quando o servidor de origem utiliza o protocolo HTTPS, além de configurar o host de origem padrão, geralmente também é necessário configurar o Default Origin SNI. Se o host de origem e o SNI de origem estiverem configurados de forma inconsistente (por exemplo, HOST definido como o nome de domínio de origem enquanto o SNI está definido como o nome de domínio acelerado), podem ocorrer falhas no handshake SSL ou erros no servidor de origem. Recomendamos definir tanto o host de origem quanto o SNI de origem com o mesmo nome de domínio (geralmente o nome de domínio de origem ou o nome de domínio acelerado, que devem corresponder ao certificado do servidor de origem e à configuração do host virtual). Na página Origin Fetch do console, Origin Host e Default Origin SNI são dois itens de configuração separados. Clique em Modify em cada item individualmente para configurá-lo.
Procedimento
Faça login no CDN console.
No painel de navegação à esquerda, escolha Domain Names.
Na lista de nomes de domínio, selecione o nome de domínio desejado.
Clique em Origin Fetch.
Na seção Origin Host, clique em Modify.
Ative a chave Origin Host e selecione um Domain Type.
|
Domain Type |
Descrição |
|
CDN Domain |
Define o host de origem como o nome de domínio acelerado. |
|
Origin Domain |
Define o host de origem como o nome de domínio do servidor de origem. Se o servidor de origem for especificado por um endereço IP, esta opção ficará esmaecida e indisponível. Caso o servidor de origem seja um domínio OSS, o recurso será ativado automaticamente e o Origin Host será definido como Origin Domain. |
|
Custom Domain |
Define o host de origem como um domínio personalizado especificado por você. Certifique-se de que o nome de domínio personalizado esteja vinculado ao seu servidor de origem. Caso contrário, as requisições de origem falharão. Utilize esta opção quando o servidor de origem estiver vinculado a vários nomes de domínio e for necessário buscar recursos de um domínio específico. |
Quando o servidor de origem utiliza o protocolo HTTPS, configure também o Default Origin SNI na mesma página Origin Fetch. Recomendamos definir Origin Host e Default Origin SNI com o mesmo nome de domínio (geralmente o nome de domínio de origem) para evitar falhas no handshake SSL ou rejeições pelo servidor de origem. Por exemplo, se Origin Host estiver definido como o nome de domínio de origem, mas Default Origin SNI estiver definido como o nome de domínio acelerado, a verificação do certificado do servidor de origem poderá falhar. No console, Origin Host e Default Origin SNI são dois itens de configuração separados na mesma página Origin Fetch. Configure cada um clicando em seu respectivo botão Modify.
Clique em OK.
Exemplos de configuração
Exemplo 1: Servidor de origem especificado por nome de domínio
Este recurso vem desativado por padrão. Ative-o manualmente.
Configuração:
Nome de domínio acelerado:
image.example.comEndereço do servidor de origem:
source.example.com
Cada Domain Type apresenta o seguinte comportamento:
CDN Domain: Ao realizar uma requisição de origem, o CDN busca recursos do site virtual
image.example.comno servidor de origemsource.example.com.Origin Domain: Durante uma requisição de origem, o CDN obtém recursos diretamente de
source.example.com.Custom Domain: O host de origem corresponde ao nome de domínio personalizado inserido.
Exemplo 2: Servidor de origem especificado por endereço IP
Este recurso vem desativado por padrão. Ative-o manualmente.
Configuração:
Nome de domínio acelerado:
example.comEndereço do servidor de origem:
10.10.10.10
Cada Domain Type apresenta o seguinte comportamento:
CDN Domain: Ao executar uma requisição de origem, o CDN recupera recursos do site virtual referente a
example.comno host10.10.10.10.Origin Domain: Esta opção fica esmaecida e não pode ser selecionada quando o servidor de origem é especificado por um endereço IP.
Custom Domain: Em uma requisição de origem, o CDN busca recursos do site virtual do domínio personalizado no host
10.10.10.10.
Exemplo 3: Servidor de origem é um domínio OSS
Configuração:
Nome de domínio acelerado:
example.comEndereço do servidor de origem:
example.oss-cn-hangzhou.aliyuncs.com
Quando o servidor de origem é um domínio OSS, o CDN ativa automaticamente o recurso e define o Origin Host como Origin Domain. Cada Domain Type apresenta o seguinte comportamento:
CDN Domain: Durante uma requisição de origem, o CDN recupera recursos do site
example.comno domínio OSSexample.oss-cn-hangzhou.aliyuncs.com.Origin Domain: Ao realizar uma requisição de origem, o CDN obtém recursos diretamente do domínio OSS
example.oss-cn-hangzhou.aliyuncs.com.Custom Domain: Em uma requisição de origem, o CDN busca recursos do site virtual correspondente ao domínio personalizado no seu site
example.oss-cn-hangzhou.aliyuncs.com.
FAQ
Para saber como solucionar erros 404, 500, 502 e 403, ERR_TOO_MANY_REDIRECTS e falhas no redirecionamento de páginas após configurar o host de origem, consulte Origin fetch troubleshooting.