Como configurar um site http e um site https em um servidor single-ip no Apache?

Como configurar um site http e um site https em um servidor single-ip no Apache?

Quero criar um site http:http://exemplo1.come um site https:https://example2.comusando a seguinte configuração:

Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
    ServerName example1.com
    DocumentRoot /var/www/example1.com/public_html
</VirtualHost>

<VirtualHost *:443>
    ServerName example2.com
    DocumentRoot /var/www/example2.com/public_html
    SSLCertificateFile...
    SSLCertificateKeyFile...
    SSLEngine On
</VirtualHost>

No entanto, se eu visitarhttps://example1.com, sou redirecionado parahttps://example2.com. Se eu visitarhttp://example2.com, sou redirecionado parahttp://exemplo1.com. Não é isso que eu quero. Gostariahttps://example1.comehttp://example2.comnão existem de forma alguma. Como eu devo fazer?

Responder1

Vocêvaitem que definir mais dois blocos VirtualHost. Se o Apache não conseguir encontrar um VirtualHost correspondente para esse nome, ele usará o primeiro VirtualHost pertencente à porta.

Claro, você não precisa servir o mesmo site:

  • Você pode veicular uma página de erro, como uma página genérica404 não encontrado. Isso vai irritar as pessoas.
  • Para example2.com, você pode usar um RewriteRule para redirecionar todos os visitantes HTTP para HTTPS.
  • Pois example1.com... bem, eu realmente não entendo por que você não serviria isso via HTTPS?

No entanto, você não pode fazer com que o navegador informe que o domínio não existe, porque ainda é o mesmo domínio, independentemente de como é acessado.

informação relacionada