Как настроить http-сайт и https-сайт на одном ip-сервере в Apache?

Я хочу создать сайт http:http://example1.com и сайт https:https://example2.com используя следующую конфигурацию:

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>

однако, если я посещаю https://example1.com, я перенаправлены на https://example2.com. Если я посещаю http://example2.com, я перенаправлены на http://example1.com. Это не то, чего я хочу. Я хотел бы https://example1.com и http://example2.com не существует вообще. Как мне следует поступить?

5
задан peter
источник

1 ответов

You будет должны определить еще два блока VirtualHost. Если Apache не может найти соответствующий VirtualHost для этого имени, он будет использовать первый VirtualHost, принадлежащий порту.

конечно, вам не нужно обслуживать один и тот же сайт:

  • вы можете служить страницу ошибки, такие как общий 404 Не Найдена. Это будет раздражать людей.
  • на example2.com, вы можете использовать рерайтер для перенаправления всех посетителей HTTP на ПРОТОКОЛ HTTPS.
  • на example1.com... ну, я действительно не понимаю, почему бы вам не служить, что через HTTPS?

тем не менее, вы не можете сделать отчет браузера о том, что домен не существует, потому что это все еще тот же домен, независимо от того, как к нему обращаются.

3
отвечен grawity 2018-03-29 07:23:30
источник

Другие вопросы apache-http-server httpd https virtual-host