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

Виртуальный хост Apache не применяется

Я настраиваю виртуальный хост, для которого требуется пароль для каталога. Я проверил, и следующая запись работает локально, но не на сервере (Ubuntu). Есть ли у вас какие-нибудь советы, в чем разница между локальной и удаленной средой?

<VirtualHost example.com:443>
    ServerName example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory "/var/www/html/public">
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/htpasswd/.htpasswd
        Require valid-user
    </Directory>
</VirtualHost>

У сервера есть еще один виртуальный хост в /etc/apache2/sites-available/ папка с именем 000-default.conf. Этот файл vhosts такой же, как и мой, но без спецификации каталога, с *: 80 и без ServerName.

У меня есть 2 DNS-сервера для сервера, я хочу, чтобы один из них запрашивал пароль.

Это то, что я догадался в своем комментарии: когда вы обращаетесь к серверу со своего ПК, вы делаете это по имени, поэтому вы нажимаете код, который вы вставили. Когда вы обращаетесь к серверу локально (что означает разговор системного администратора "с / на одной машине"), вы нажимаете 000-default.conf.

Вероятно, вы можете удалить символическую ссылку /etc/apache2/sites-enabled/000-default.conf, потому что из того, что вы сказали, похоже, вы хотите, чтобы приведенный выше код был виртуальный хост по умолчанию, веб-сайт, который вы получите всегда, независимо от того, как вы обращаетесь к серверу.