Настройка mod_proxy для передачи http-аутентификации на сервер - PullRequest
10 голосов
/ 02 июня 2011

У меня проблема с настройкой Apache в качестве прокси-сервера. В настоящий момент я получаю доступ к установке MS Sharepoint, используя домен .net через порт 80. Прежде чем использовать его, я должен ввести имя пользователя и пароль. Пока все хорошо.

Теперь я хочу получить доступ к веб-сайту через поддомен web.domain.net. Сервер, на котором размещен этот сайт, работает на другом компьютере во внутренней сети. Решение, которое я придумала, состоит в том, чтобы перенаправить порт 80 на компьютер, на котором работает apache, для обслуживания нового веб-сайта и прокси-сервера любые запросы на sharepoint на сервер sharepoint.

До сих пор я включил все прокси-модули в моем httpd.conf и добавил виртуальный хост. РЕДАКТИРОВАТЬ: обновленный конфиг после первых ответов.

<VirtualHost *:80>
    ServerName domain.net

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyErrorOverride On
    ProxyPass   /   http://sharepoint/
    ProxyPassReverse   /   http://sharepoint/

    <Location />
        AuthType basic
        AuthBasicAuthoritative Off
        SetEnv proxy-chain-auth On
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

Это работает. Входя в домен .net, я пересылаюсь на сервер sharepoint. Теперь возникает проблема. Sharepoint спрашивает меня о моих полномочиях. Но когда я их ввожу, форма входа в систему продолжает появляться, когда я ввел нет или неверное имя пользователя и пароль.

Кажется, что учетные данные не передаются на sharepoint через прокси.

Можете ли вы дать мне какой-нибудь совет, как решить эту проблему? Возможно ли это сделать с помощью mod_proxy?

1 Ответ

9 голосов
/ 02 июня 2011

См. http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html: существует переменная окружения proxy-chain-auth, которая должна перенаправлять учетные данные на прокси-сервер.

...