我将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>
这很有效。输入domain.net会将我转发给sharepoint服务器。现在出现了实际问题。 sharepoint要求我提供我的凭据。但是当我输入它们时,登录表单会一直弹出,因为我输入了不正确的用户名和密码。
似乎凭证不会通过代理转发到sharepoint。
你能告诉我如何解决这个问题吗?是否可以使用mod_proxy执行此操作?
答案 0 :(得分:9)
请参阅http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html:有一个proxy-chain-auth
环境变量,可以将凭据转发到代理服务器。