Назад | Перейти на главную страницу

Проблема перенаправления виртуального хоста Apache2 в Chrome

У меня чрезвычайно странная проблема, которая, кажется, присутствует только в Chrome, IE и Firefox в порядке. У меня есть 2 веб-сайта, обслуживаемых 1 IP-адресом, у меня есть 2 одинаковых файла на доступных сайтах с именами site1.com и site2.com. Я запускаю команду a2ensite для создания ссылок на сайты с поддержкой.

Все перенаправления работают отлично, за исключением site1.com с использованием Chrome.

В Chrome, если я наберу www.site1.com, он перенаправит меня в нужную папку /var/www/site1.com, если я наберу http://site1.com он перенаправляет меня не в ту папку / var / www

Вот где это становится странным: когда я набираю www.site2.com, он перенаправляет меня на /var/www/site2.com, а когда я набираю http://site2.com он правильно перенаправляет меня на /var/www/sites2.com

Чего я не понимаю, так это то, что файлы виртуального хоста идентичны, за исключением фактического ServerName, псевдонима и расположения журналов.

Site1

<VirtualHost *:80>
        ServerAdmin webmaster@site1.com
        ServerName site1.com
        ServerAlias www.site1.com
        DocumentRoot /var/www/site1.com

        #<Directory />
        #        Options FollowSymLinks
        #        AllowOverride None
        #</Directory>
        #<Directory /var/www/site1.com>
        #        Options Indexes FollowSymLinks MultiViews
        #        AllowOverride None
        #        Order allow,deny
        #        allow from all
        #</Directory>


        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        ErrorLog /var/www-logs/site1.com/error.log
        CustomLog /var/www-logs/site1.com/access.log combined
</VirtualHost>

Site2

<VirtualHost *:80>
        ServerAdmin webmaster@site2.com
        ServerName site2.com
        ServerAlias www.site2.com
        DocumentRoot /var/www/site2.com

        #<Directory />
        #        Options FollowSymLinks
        #        AllowOverride None
        #</Directory>
        #<Directory /var/www/site2.com>
        #        Options Indexes FollowSymLinks MultiViews
        #        AllowOverride None
        #        Order allow,deny
        #        allow from all
        #</Directory>


        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        ErrorLog /var/www-logs/site2.com/error.log
        CustomLog /var/www-logs/site2.com/access.log combined
</VirtualHost>

У меня была такая же проблема, и это сводило меня с ума. Я везде искал какие-либо проблемы с Apache, так как думал, что он выполняет перенаправление.

По-видимому, это была проблема с хромом (возможно, Mac OS). Firefox показывает виртуальные хосты, как и ожидалось.

Вы можете попробовать очистить кеш DNS в браузере. (это то, что у меня работало временно)

Посещение: хром: // сетевые внутренние / # DNS в новой вкладке Chrome.

Затем нажмите на clear host cache кнопка.

Попробуйте еще раз просмотреть URL-адреса и посмотреть, появляются ли нужные сайты.

Но это не сработало ...

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

Это решение сработало для меня: https://stackoverflow.com/a/30489627/754854

По сути, просто перейдите в Системные настройки> Сеть> Дополнительно.

На вкладке DNS добавьте свой IP-адрес localhost 127.0.0.1. Также будьте осторожны, чтобы не переопределить IP-адрес маршрутизатора. По какой-то странной причине знак + удаляет его и заменяет вашими конфигурациями вместо того, чтобы просто добавлять ваши. В этом случае вы захотите снова добавить IP-адрес маршрутизатора. Вы можете увидеть IP-адрес маршрутизатора на странице «Сеть». Без него вам может быть трудно загружать веб-сайты, поэтому убедитесь, что он все еще там.

Порядок имеет значение. Убедитесь, что ваш IP-адрес localhost является первым, а ваш маршрутизатор или что-то еще было настроено вторым:

127.0.0.1
xx.xx.xx.x

Примените свои изменения и проверьте это.

Эта проблема возникала у меня в Mac OS Sierra с использованием Chrome версии 60.0.3112.101 (официальная сборка) (64-разрядная версия)

Так что я не мог с этим разобраться, и это сводило меня с ума, я перешел на nginx. Нет проблем с nginx. Также используется на 50% меньше оперативной памяти.