CNAME redireciona para o URL externo de https

1

Eu tenho uma configuração específica de alguma forma. Realmente é devido a algumas restrições que não posso contornar: Existem domínios 1. e 2. que eu possuo e uma URL externa que eu não possuo:

  1. start.com
  2. root.com
  3. link

Meu objetivo é redirecionar o link (e o link . ) para o link . Agora para as restrições:

  • Para 1. Eu posso alterar as entradas do DNS. No entanto, não posso alterar nada no próprio servidor http. Além disso, a configuração atual é tal que cada solicitação http é redirecionada para https. Eu também não posso alterar o certificado SSL, que é não um certificado curinga
  • Para 2. basicamente sem restrições. Eu posso mudar tudo no servidor. (lighttpd) Eu também posso obter certificados SSL através de Vamos criptografar .
  • For 3. Como mencionado, esta é uma URL externa que não possuo. Ele também redirecionará qualquer solicitação http para https

Como alcançar meu objetivo? Isso é o que eu configurei até agora:

  • Uma entrada DNS CNAME de "sub.start.com" para "sub.root.com" em 1.
  • No root.com, um redirecionamento de sub.root.com para link

O que funciona é o link do redirecionamento para link . O que não funciona é:

  1. O redirecionamento do link para link Retorna uma mensagem de "conexão insegura" no firefox. Isso ocorre porque o sub.root.com não está (ainda) incluído no certificado SSL. Eu posso entender esse problema. É fácil de corrigir.
  2. No entanto, o que não consigo entender é que o redirecionamento do link não funciona. Isso me redireciona para o link e depois reclama que o certificado em root.com não inclui sub.start.com. Por que é isso? Eu estava esperando que a entrada CNAME iria "ignorar" o servidor em start.com. A solicitação deve ir diretamente para o root.com, não deveria?

Além disso, existe uma maneira de atingir meu objetivo com essa configuração exata? Estou pensando em incluir sub.start.com e também sub.root.com no meu certificado SSL em root.com. Isso resolveria todos os problemas?

    
por mc51 25.11.2017 / 13:59

1 resposta

3

I was expecting that the CNAME entry would "ignore" the server at start.com. The request should go directly to root.com, shouldn't it?

Falsa expectativa, e discutida aqui repetidas vezes: o redirecionamento é feito no protocolo HTTP. Uma vez resolvido usando os registros CNAME e A DNS, a solicitação vai diretamente para o endereço IP, sem saber o que aconteceu no nível do DNS. CNAME não redireciona HTTP.

Em seguida, a solicitação contém o nome do host original na barra de endereços como um cabeçalho HTTP 1.1 Host

GET / HTTP/1.1
Host: sub.start.com

e o servidor da Web responde com o conteúdo configurado para esse host virtual. Esse nome de host e esse nome de host sozinhos também são usados quando o navegador compara o endereço com o certificado SSL. Essa comparação é feita antes dos cabeçalhos serem enviados e antes que qualquer redirecionamento ocorra.

Ter todos os outros nomes de host configurados como redirecionamentos para o nome do host canônico na configuração do servidor da web resolve o problema de redirecionamento. Ter todos os nomes de host como nomes alternativos de assunto em seu certificado resolve as mensagens de erro que seus usuários estão recebendo.

    
por 25.11.2017 / 14:30