Como configurar vários sites do Apache SSL usando vários endereços IP

2

Como você configura uma única configuração do Apache2 para hospedar vários sites HTTPS em seu próprio endereço IP? Haverá também vários sites HTTP em apenas um único endereço IP.

Eu não quero usar Indicação do nome do servidor (SNI) conforme descrito < href="https://serverfault.com/questions/109800/multiple-ssl-domains-on-the-same-ip-address-and-same-port"> aqui , e eu sou apenas preocupado com as importantes diretivas de alto nível do Apache. Ou seja, eu só preciso saber o esqueleto de como minha configuração deve ficar.

A configuração básica é assim:

Hosted on 1.1.1.1:80 (HTTP)
  - example.com
  - example.net
  - example.org
Hosted on 2.2.2.2:443 (HTTPS)
  - secure.com
Hosted on 3.3.3.3:443 (HTTPS)
  - secure.net
Hosted on 4.4.4.4:443 (HTTPS)
  - secure.org

E aqui estão as importantes diretivas de configuração que tenho até agora, que é o mais próximo que cheguei de uma iteração de trabalho, mas ainda sem dados. Eu sei que estou perto, só preciso de um empurrãozinho na direção certa.

Listen 1.1.1.1:80
Listen 2.2.2.2:443
Listen 3.3.3.3:443
Listen 4.4.4.4:443

NameVirtualHost 1.1.1.1:80
NameVirtualHost 2.2.2.2:443
NameVirtualHost 3.3.3.3:443
NameVirtualHost 4.4.4.4:443

# HTTP VIRTUAL HOSTS:

<VirtualHost 1.1.1.1:80>
    ServerName example.com
    DocumentRoot /home/foo/example.com
</VirtualHost>

<VirtualHost 1.1.1.1:80>
    ServerName example.net
    DocumentRoot /home/foo/example.net
</VirtualHost>

<VirtualHost 1.1.1.1:80>
    ServerName example.org
    DocumentRoot /home/foo/example.org
</VirtualHost>

# HTTPS VIRTUAL HOSTS:

<VirtualHost 2.2.2.2:443>
    ServerName secure.com
    DocumentRoot /home/foo/secure.com
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.com.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.com.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

<VirtualHost 3.3.3.3:443>
    ServerName secure.net
    DocumentRoot /home/foo/secure.net
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.net.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.net.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

<VirtualHost 4.4.4.4:443>
    ServerName secure.org
    DocumentRoot /home/foo/secure.org
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.org.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.org.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

Por que vale a pena, eu prefiro ter cada um dos meus sites SSL em seu próprio IP, em vez de incluir um deles no IP VHOST principal. Quaisquer links que mostrem uma configuração padrão seriam mais que bem-vindos!

    
por Jeff 23.11.2011 / 18:07

1 resposta

3

Reinicie o Apache, não recarregue. Certs SSL recentemente configurados não são carregados em um recarregamento.

Solte as diretivas NameVirtualHost ...:443 ; você só iria querer se estivesse fazendo SNI.

E sim, mantenha a diretiva NameVirtualHost 1.1.1.1:80 , os hosts da porta 80 precisam que os pedidos sejam roteados com base no cabeçalho do host.

    
por 23.11.2011 / 19:08