
Meu aplicativo é veiculado https://beta.myapp.com
(estou forçando https em todos os lugares) e agora quero mudar para https://www.myapp.com
.
Estou me perguntando como redirecionar corretamente todas beta.
as solicitações para www.
.
No momento, www
ele está apontando para o mesmo aplicativo e o aplicativo está redirecionando para beta
(você receberá um erro de SSL se tentar acessar https://www
).
O que eu acho que é factível:
- Usar o
www
certificado no aplicativo principal e criar outro aplicativo (com obeta
certificado) encarregado de redirecionar todas as solicitações para o outro aplicativo. (por exemplo,https://beta.myapp.com/about
parahttps://www.myapp.com/about
). Mas meu aplicativo está hospedado no Heroku e tenho que pagar US$ 20/mês/certificado, então mais um aplicativo significa mais despesas. - Obtenha um certificado curinga/multidomínio cobrindo ambos
www
ebeta
. Mas já tenho 2 certificados, então não quero comprar outro.
Existe alguma outra/melhor maneira de fazer isso?
Responder1
Isso é um pouco complicado e você não tem muitas opções.
Você pode lidar com o redirecionamento dentro do aplicativo apontando beta/www (e domínio raiz) para o aplicativo principal do Heroku. No entanto, para evitar erros de SSL, você precisa instalar um certificado que cubra os nomes de host www e beta.
Como o Heroku não oferece a capacidade de associar dois certificados no mesmo aplicativo, nesse caso você precisaria adquirir um certificado curinga.
A outra solução é apontar beta
para outro servidor. Instale o certificado nesse servidor e redirecione o tráfego para o aplicativo principal. Infelizmente, você ainda é obrigado a instalar o certificado aqui porque a negociação SSL acontece antes do cabeçalho de redirecionamento HTTP ser enviado, portanto, se você não instalá-lo, seus visitantes verão um erro de certificado (ou aviso) antes de serem redirecionados. Dependendo do navegador, o redirecionamento pode ou não acontecer nesse caso.
Ambas as soluções provavelmente exigem um esforço econômico adicional de sua parte, principalmente devido à flexibilidade limitada do Heroku neste caso. Um requer a compra de um certificado curinga, o outro, a compra de um novo endpoint SSL para o outro aplicativo (a menos que você encontre uma maneira de hospedá-lo em um servidor barato em algum lugar).
Entendo que você tenha adquirido recentemente o certificado para o site principal. Lembre-se de que a maioria dos provedores de certificados SSL oferece um reembolso de 30 dias. Você pode querer ver se consegue obter um reembolso e comprar o curinga.
Se eu tivesse que fazer uma escolha, provavelmente escolheria um curinga.
Responder2
Já fiz isso antes de usar CNAMEs, como Nick sugeriu. Outra maneira provavelmente (pode não ser prática para você) é usar certificados curinga.
A última opção, se você conhece seus nomes alternativos, é fornecer o SAN (Subject Alternate Names) em seu certificado que contém todos os seus nomes de host.