Базовая аутентификация Apache запрашивает аутентификацию в неправильном домене - PullRequest
0 голосов
/ 18 февраля 2019

Здравствуйте, дорогие разработчики и sa,

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

У меня есть 1 доменное имя, которое я используюназовем его example.com.

Для этого я настроил два разных vhosts.

  1. example.com
  2. dev.example.com

    <VirtualHost x.x.x.x:443>
        ServerAdmin admin@gmail.com
        DocumentRoot /home/user/example
        ServerName example.com
        ServerAlias www.example.com
    
        SSLEngine on
        SSLCertificateFile ..../certificate.crt
        SSLCertificateKeyFile ..../certificate.key
        SSLCertificateChainFile ..../cabundle.crt
    </VirtualHost>
    
    
    <VirtualHost x.x.x.x:443>
        ServerAdmin admin@gmail.com
        DocumentRoot /home/user/dev_example
        ServerName dev.example.com
        ServerAlias dev.example.com
    
        SSLEngine on
        SSLCertificateFile ..../certificate.crt
        SSLCertificateKeyFile ..../certificate.key
        SSLCertificateChainFile ..../cabundle.crt
    </VirtualHost>
    

Все это работает довольно хорошо, однако я хотел бы ограничить пользователей от простого доступа к узлу dev с помощью модуля аутентификации.

AuthType Basic
AuthName "Development"
AuthUserFile /home/user/.htpasswd
Require valid-user

Сама аутентификация работает.Но сейчас возникает проблема!часть аутентификации для dev vhost запрашивает учетные данные на другом vhost, что не имеет никакого смысла вообще ... Я пытался поместить части аутентификации в разные места, такие как Directory и Location, но результат всегда один и тот же ... Iустал от этого и решил поместить его в файл .htaccess ... НО он по-прежнему запрашивает аутентификацию в другом домене, который даже не читает файл .htaccess на этом vhost.

Short:

  • Есть два vhosts (A & B)
  • Требуется аутентификация на B
  • Настройка аутентификации на B
  • Браузер запрашивает аутентификацию на A (дажеесли я помещу код авторизации в файл .htaccess B, который не должен читаться даже при переходе к A).

Надеюсь, кто-то понимает это странное поведение, потому что я не могу понять, что не так.Если я просто комментирую части аутентификации в файле .htaccess, он не запрашивает учетные данные для обоих vhosts, что и следовало ожидать.

...