设置mod_proxy以将http身份验证传递给服务器

sig*_*ter 10 apache proxy credentials http-authentication

我将Apache配置为代理服务器时遇到问题.目前,我通过端口80使用domain.net访问MS Sharepoint安装.在能够使用它之前,我必须输入用户名和密码.到现在为止还挺好.

现在我希望能够通过子域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>
Run Code Online (Sandbox Code Playgroud)

这有效.输入domain.net会将我转发给sharepoint服务器.现在出现了实际问题.sharepoint要求我提供我的凭据.但是当我输入它们时,登录表单会一直弹出,因为我输入了不正确的用户名和密码.

似乎凭证不会通过代理转发到sharepoint.

你能给我任何建议如何解决这个问题吗?是否可以使用mod_proxy执行此操作?

Fem*_*emi 9

请参阅http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html:有一个proxy-chain-auth环境变量应该将凭据转发到代理服务器.

  • Proxy-chain-auth仅适用于`Proxy-Authorization`标头. (2认同)