У меня есть сервер, который я настраиваю, и я столкнулся с проблемой конфигурации Apache, которую не могу обойти.
У меня есть Apache 2.2 и Passenger, обслуживающие приложение Rails с распределенным хостингом ресурсов. Это особенность Rails, которая позволяет вам обслуживать ваши статические ресурсы из assets0.example.com, assets1, assets2 и так далее.
Перед запуском сайта необходимо ввести пароль. Я настроил HTTP-аутентификацию на сайте, используя Apache mod_auth_digest. В своей конфигурации я пытаюсь использовать директиву AuthDigestDomain, чтобы разрешить доступ к каждому из URL-адресов ресурсов. Проблема в том, что это не работает. Я получаю первоначальный запрос пароля при загрузке страницы, но затем при первой загрузке ресурса с одного из URL-адресов ресурсов я получаю запрос во второй, третий или четвертый раз. В некоторых браузерах мне предлагается указать каждый ресурс на странице.
Я надеюсь, что это проблема только того, как я указываю свои директивы, а не ограничения авторизации в самом Apache. См. Отредактированный раздел авторизации ниже:
<Location />
AuthType Digest
AuthName "Restricted Site"
AuthUserFile /etc/httpd/passwd/passwords
AuthGroupFile /dev/null
AuthDigestDomain / http://assets0.example.com/ http://assets1.example.com/ http://assets2.example.com/ http://assets3.example.com/
require valid-user
order deny,allow
allow from all
</Location>





Раньше я никогда не использовал междоменную аутентификацию с apache. Но:
Документация Apache использует синтаксис, отличный от вашего:
AuthDigestDomain / assets0.example.com/ assets1.example.com/ assets2.example.com/ assets3.example.com/
AuthDigestDomain /private/ http://mirror.my.dom/private2/
Обратите внимание на "http: //"?
Документация также содержит некоторые предостережения относительно поддержки браузером. Вы уверены, что ваш браузер справится с этим?
Я отредактировал свой исходный пост, чтобы отразить синтаксис Apache, потому что я действительно пробовал это, но безуспешно. На самом деле я только что отказался от хостов ресурсов, пока на сайте введен пароль. Мне просто нужно не забыть включить его перед запуском.