Seleção de certificado SSL separado da configuração do host virtual no apache

2

Atualmente, minha configuração do apache inclui um certificado SSL (com todos os domínios listados como Nomes de Assunto Alternativos). Além disso, tenho uma configuração de host virtual por domínio que atende a solicitações SSL e não SSL. Tudo isso acontece em um IP público.

Gostaria de mudar para vários certificados SSL, um por domínio, usando a indicação do nome do assunto. Eu sei que é possível se eu duplicar todas as entradas de configuração vhost, uma vez para a porta 80 e uma vez para a porta 443 com SSL (como já discutido no SF).

Mas eu preferiria ter algo parecido com minha configuração atual, com esses recursos:

  • Todas as configurações relacionadas ao SSL em um só lugar. No melhor dos casos, uma declaração dizendo apache "Use todos os certificados SSL neste diretório, e para cada solicitação HTTP, escolha o direito com base nas informações do SNI"
  • Configuração do host virtual não duplicada e sem nenhuma menção especial ao SSL.
  • Possibilidade de servidor muitos nomes de domínio com uma configuração de host virtual, enquanto ainda possui certificados separados para cada um.

Isso é possível?

    
por Joachim Breitner 07.01.2013 / 22:50

1 resposta

2

Não há como contornar a estrutura dos hosts virtuais que o Apache precisa para suportar essa configuração; os blocos <VirtualHost> precisam existir e precisam conter as diretivas de configuração para configurar os ouvintes.

O melhor que você pode fazer é algo assim ...

<VirtualHost *:80>
  # Give this file the directives like ServerName and DocumentRoot that
  # are the same between 80 and 443:
  Include /etc/confdir/domain-a.conf
</VirtualHost>
<VirtualHost *:443>
  # Same file as above, so config will be "shared"
  Include /etc/confdir/domain-a.conf
  # SSL directives for this domain (SSLEngine, cert config) in this file:
  Include /etc/confdir/ssl/domain-a-ssl.conf
</VirtualHost>
    
por 08.01.2013 / 08:08