Apache2: Como dividir a configuração SSL?

1

No Apache2, gostaria de definir separadamente meu material relacionado ao SSL uma vez e em um arquivo separado do restante da configuração. Isso é principalmente uma questão de gosto, mas também permite incluir o restante da configuração no meu processo de implantação automática.

ou seja: situação atual:

# in file: 0000-ourdomain.com.conf (number needs to be low)
<VirtualHost xx.xx.xx.xx:443>
    # SSL part
    SSLEngine on
    SSLCertificateFile ....crt
    SSLCACertificateFile ...pem
    SSLCertificateChainFile ...intermediate.pem
    SSLCertificateKeyFile ....wildcard.ourdomain.com.key
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

    ServerName www.ourdomain.com
    ServerAlias ourdomain.com

    # the actual configuration, as found for xx.xx.xx.xx:80, repeated
</VirtualHost>

Eu gostaria que

# in file: 0000-ssl-stuff
<VirtualHost xx.xx.xx.xx:443>
    # SSL part
    SSLEngine on
    SSLCertificateFile ....crt
    SSLCACertificateFile ...pem
    SSLCertificateChainFile ...intermediate.pem
    SSLCertificateKeyFile ....wildcard.ourdomain.com.key
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

    ServerName www.ourdomain.com
    ServerAlias ourdomain.com
</VirtualHost>

# in file: ourdomain.com.conf
<VirtualHost xx.xx.xx.xx:443>
    # the actual configuration, as found for xx.xx.xx.xx:80, repeated
</VirtualHost>

Infelizmente, isso parece não funcionar. O Apache SSL falha, apesar de não fornecer uma mensagem de erro ao recarregar ou verificar a sintaxe.

A melhor solução encontrada é para nós uma diretiva Include do arquivo 0000-ssl.

Muito obrigado!

    
por Klaas van Schelven 26.06.2011 / 14:13

1 resposta

1

Você pode criar um arquivo separado usando a diretiva de inclusão . Seu 443 vhost seria:

# in file: ourdomain.com.conf
<VirtualHost xx.xx.xx.xx:443>
    # the actual configuration, as found for xx.xx.xx.xx:80, repeated
    ServerName www.ourdomain.com
    ServerAlias ourdomain.com

    Include conf/vhosts/ourdomain.ssl.conf
 </VirtualHost>

e em conf / vhosts / ourdomain.ssl.conf:

# SSL part
SSLEngine on
SSLCertificateFile ....crt
SSLCACertificateFile ...pem
SSLCertificateChainFile ...intermediate.pem
SSLCertificateKeyFile ....wildcard.ourdomain.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Algumas coisas. Primeiro, o caminho include é relativo a partir do ServerRoot (isto é, / usr / local / apache, não relativo ao arquivo que o incluiu.

Segundo, o arquivo ourdomain.ssl.conf não repete a diretiva VirtualHost para xx.xx.xx.xx: 443. Isso já foi tratado pelo Vhost incluído.

    
por 26.06.2011 / 15:26