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

Как создать виртуальный хост с базовой HTTP-аутентификацией?

Вот что у меня есть на данный момент:

<VirtualHost *:80>
DocumentRoot "/PathToTheFilesThat/theserver/gives/access/to"
ServerName docs.mysite.com
ProxyPass / http://localhost:8808/
ProxyPassReverse / http://localhost:8808
</VirtualHost>

По сути, я просто пытаюсь сделать сервер документации YARD общедоступным для компании, в которой я работаю (но не для всего мира), отсюда и потребность в базовой аутентификации.

Вышеупомянутое в настоящее время разрешает доступ к серверу с любого удаленного компьютера ... просто нужен auth. = D

ОБНОВИТЬ:

<VirtualHost *:80>
    DocumentRoot "/Users/me/projects/myProject/doc"
    ServerName docs.mysite.com
    ProxyPass / http://localhost:8808/
    ProxyPassReverse / http://localhost:8808
    AuthUserFile /private/etc/apache2/conf/.htpasswd
    AuthName "Documentation Server, Please Log In"
    AuthType Basic
    Require User me
</VirtualHost>

выдает эту ошибку, когда я перехожу на docs.mysite.com (в консоли)

[Tue Feb 21 11:33:04 2012] [error] (61)Connection refused: proxy: HTTP: attempt to connect to [fe80::1]:8808 (localhost) failed
[Tue Feb 21 11:33:04 2012] [error] ap_proxy_connect_backend disabling worker for (localhost)
[Tue Feb 21 11:35:16 2012] [notice] caught SIGTERM, shutting down

Чтобы включить аутентификацию пользователя на точке входа вашего веб-сервера, вы должны добавить следующие строки в строки конфигурации VirtualHost.

<VirtualHost>
..
..
..
..
..

    AuthUserFile /usr/local/apache2/conf/.htpasswd
    AuthName "yoursite.com, Please Log In."
    AuthType Basic
    Require User userallowedtoenter
</VirtualHost>

И, добавляя эти строки, каждый раз, когда вы открываете веб-сайт, всплывает окно аутентификации с запросом пользователя / пароля, для которого разрешено пройти.