Tenho um servidor Apache HTTPS voltado para a Internet current.example.com. Quero renomear o servidor web para nextname.example.com. Também preciso que current.example.com continue funcionando durante a transição. Esta é apenas uma mudança de nome, e o mesmo conteúdo do mesmo local será servido.
Comecei adicionando um ServerAlias às minhas configurações de virtualhost (HTTP e HTTPS). Isso resultou na mensagem "sua conexão não é privada" ao acessar nextname.example.com. Eu esperava que isso ocorresse.
Eu sei que uma (talvez a única?) solução é criar um novo certificado para nextname e criar uma nova configuração VirtualHost.
Mas espero outra solução.
Além disso, percebo que uma nova chave privada não é obrigatória, mas provavelmente é aconselhável, pois já precisaremos de um novo certificado.
Existe uma maneira de configurar para que o certificado possa ser usado/compartilhado por ambos os servidores virtuais ou é necessário um novo certificado para manter o nome antigo?
O certificado deve corresponder à URL que está sendo visitada. É isso que ele certifica, literalmente. Então, se você quiser que o servidor seja acessível via HTTPS pelo seu novo nome, não há como evitar ter que obter um certificado correspondente também. Da mesma forma, para que o antigo nome de domínio funcione, um certificado para o antigo nome é necessário.
Embora não importe se você obtém um novo certificado válido para ambos os domínios simultaneamente, ou se você tem dois certificados separados e continua usando o atual para o nome antigo. No que diz respeito aos clientes, esses são dois sites separados de qualquer forma.
Obter um novo certificado não invalida o antigo (certamente não quando é para um nome diferente), mas um VirtualHost só pode servir um certificado. Então, se você obteve certificados separados para os dois nomes, não pode usar ServerAlias – você precisaria de dois
VirtualHost
blocos separados com configuração idêntica, embora isso não seja um grande problema: copie e cole a configuração, ouInclude
um arquivo comum em ambos, ou mesmo defina um<Macro>
.Existem três opções:
Mantenha o certificado antigo para o domínio antigo e obtenha um novo certificado para um novo domínio. Isso exigirá dois
VirtualHost
s, um para cada domínio+certificado. Você não usa,ServerAlias
mas tem um diferenteServerName
em cadaVirtualHost
.Obtenha um certificado que inclua tanto o domínio antigo quanto o novo (como "nomes alternativos de assunto", também conhecidos como SANs). Você pode então manter um único
VirtualHost
, definir os domínios comoServerName
eServerAlias
respectivamente, e usar o certificado único.A mesma coisa, mas em vez de ter os dois domínios listados explicitamente, se ambos estiverem no mesmo domínio de nível superior (
example.com
), então obtenha um certificado curinga (*.example.com
). O procedimento para obter um domínio curinga é geralmente um pouco mais complexo, pois envolve DNS em vez de apenas o servidor web.Ao escolher uma opção, você provavelmente deve considerar: