Inicie o Apache apesar do erro no arquivo de certificado SSL do Virtual Host

2

Eu tenho o Apache 2.4.10 com hospedagem virtual SSL baseada em nome (SNI). Usuários virtuais podem usar seu próprio certificado e enviá-lo para o servidor.

Tudo funciona bem até que haja algum erro com o arquivo de certificado (ou seja, o arquivo está ausente ou com nome incorreto).

O problema é que o Apache não será iniciado se houver algum problema com o certificado.

Existe alguma solução de como iniciar o Apache com este erro (ou seja, todos os vhosts serão iniciados, exceto aquele host virtual com falha)?

Isso não funciona:

<If "-f '/path/to/file.crt'">
    <VritualHost *:443>
        SSLEngine On
        SSLCertificateFile /path/to/file.crt
    </VirtualHost>
</If>

... e isso também não funciona:

<VirtualHost *:443>
    <If "-f '/path/to/file.crt'">
        SSLEngine On
        SSLCertificateFile /path/to/file.crt
    </If>
</VirtualHost>

Problema é erro de sintaxe na configuração "SSLEngine não permitido aqui" ou "VirtualHost não permitido aqui". Então minha configuração acima não é permitida pelo Apache.

Muito obrigado.

Editar: pequeno erro de digitação

    
por Otak 26.10.2015 / 11:06

1 resposta

0

Eu diria que isso está funcionando por design. Certificados SSL são um recurso de segurança. Por que você permitiria certificados quebrados no seu sistema, o que pode comprometer todo o servidor?

Como você mencionou, para que os usuários possam fazer o upload de seus certificados, você precisa implementar um recurso de verificação desses certificados. A validade, ortografia correta e integridade desses arquivos devem ser verificadas pelo seu recurso de upload, afinal.

Além disso, o apache está enviando um verificador de configuração.

$SERVER/bin/apachectl configtest

Com este recurso, você pode verificar seus arquivos de configuração antes de reiniciar, se houver algum erro, você não deve reiniciar seu servidor.

    
por 27.10.2015 / 17:27