É necessário ter blocos de virtualhost separados para as versões http e https de cada site? ou existe alguma maneira de evitar a duplicação?
É necessário ter blocos de virtualhost separados para as versões http e https de cada site? ou existe alguma maneira de evitar a duplicação?
Ao contrário, por exemplo, de um bloco de servidor no nginx que pode suportar definições http e https (cada uma em uma porta diferente) em um único bloco de servidor, o Apache VirtualHost possui apenas uma alternância.
A
SSLEngine
diretiva ativa ou desativa o TLS para todo o VirtualHost.(A
SSLEngine optional
configuração é mais uma curiosidade e não uma opção de produção válida para suportar http e https simples de um único bloco VirtualHost.)Você obterá erros de protocolo ao tentar se conectar com http simples a uma combinação de endereço IP e porta Apache https ou vice-versa ao usar https em uma porta http simples.
Com base em meus testes, parece que é necessário ter blocos de virtualhost separados para o virtualhost padrão em cada porta, mas os virtualhosts secundários podem usar o mesmo bloco de virtualhost para http e https simples.
No entanto, esses hosts virtuais secundários devem ser especificados com uma lista explícita de portas, por exemplo, *:80 *:443, não apenas com um curinga simples.