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

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

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

eu não quero usarIndicação de nome de servidor (SNI)conforme descritoaqui, e estou preocupado apenas com as importantes diretivas de nível superior do Apache. Ou seja, 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 diretivas de configuração importantes que tenho até agora, que são o mais próximo que cheguei de uma iteração funcional, mas ainda não há 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>

Pelo que vale, 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 serão mais que bem-vindos!

Responder1

Reinicie o Apache, não recarregue. Os certificados SSL recém-configurados não são carregados durante uma recarga.

Abandone as NameVirtualHost ...:443diretivas; você só os desejaria se estivesse fazendo SNI.

E sim, mantenha a NameVirtualHost 1.1.1.1:80diretiva, seus hosts da porta 80 precisam disso para que as solicitações sejam roteadas com base no cabeçalho do host.

informação relacionada