Eu tenho uma definição bastante grande do VirtualHost que não quero duplicar, apenas para que o site também execute sobre HTTPS.
Aqui está o que eu quero fazer:
<VirtualHost *>
ServerName example.com
<If port=443>
SSLEngine on
SSLCertificateFile ...
SSLCertificateKeyFile ...
SSLCertificateChainFile ...
</If>
(other config)
</VirtualHost>
Existe alguma maneira de fazer isso?
Estou faltando algum outro método para não duplicar a configuração?
fonte
SSLEngine On
um<If>
daráSSLEngine not allowed here
, portanto, infelizmente, o caso de uso sugerido no início desta resposta não parece possível. Isso ocorre porque o requisito de que "somente diretivas que suportam o contexto de diretório pode ser usado nesta seção de configuração". (ref) eSSLEngine
éserver config, virtual host
(ref) , não diretório.Não. Você pode mover a maioria das coisas para a configuração Global e herdá-la no VirtualHost.
fonte
Isso foi respondido em outra pergunta. Use uma instrução Include. Caiu como uma luva para mim:
Servir http (porta 80) e https (porta 443) no mesmo VirtualHost
fonte
Para hosts virtuais SSL, você precisa usar uma segunda porta ala
ou você precisa usar IPs separados
Existe uma explicação muito boa nos documentos do Apache SSL http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html
Pesquise abaixo "Por que não consigo usar SSL com hosts virtuais baseados em nome / não baseados em IP?"
fonte