Я хочу настроить веб-сайт 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 вообще не существовало. Как я должен сделать?

1 ответ1

3

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

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

  • Вы можете открыть страницу с ошибкой, например, 404 Not Found. Это будет раздражать людей.
  • Например, example2.com , вы можете использовать RewriteRule для перенаправления всех посетителей HTTP на HTTPS.
  • Для example1.com ... ну, я действительно не понимаю, почему вы не подали бы это через HTTPS?

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .