Tengo una gran definición de VirtualHost que no quiero duplicar solo para que el sitio también se ejecute a través de HTTPS.
Esto es lo que quiero hacer:
<VirtualHost *>
ServerName example.com
<If port=443>
SSLEngine on
SSLCertificateFile ...
SSLCertificateKeyFile ...
SSLCertificateChainFile ...
</If>
(other config)
</VirtualHost>
Hay alguna manera de hacer esto?
¿Me estoy perdiendo algún otro método para no duplicar la configuración?
fuente
SSLEngine On
en un<If>
testamento daráSSLEngine not allowed here
, por lo que el caso de uso sugerido al comienzo de esta respuesta lamentablemente no parece posible. Esto parece deberse al requisito de que "solo las directivas que admiten el contexto del directorio se pueden usar dentro de esta sección de configuración". (ref) ySSLEngine
esserver config, virtual host
(ref) , no directorio.No. Puede mover la mayoría de las cosas a la configuración Global y heredarla en VirtualHost.
fuente
Esto fue respondido en otra pregunta. Use una declaración de inclusión. Funcionó como un encanto para mí:
Servir http (puerto 80) y https (puerto 443) en el mismo VirtualHost
fuente
Para los hosts virtuales SSL, debe usar un segundo puerto ala
o tienes que usar direcciones IP separadas
Hay una muy buena explicación en los documentos de Apache SSL http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html
Busque "¿Por qué no puedo usar SSL con hosts virtuales basados en nombre / no basados en IP?"
fuente