我们有一台服务器,将apache设置为运行在同一个盒子上的后端Web服务的authentication前端。
该设置似乎起初工作,但我们很快意识到,Apache每次点击一个链接要求身份validation,返回或重新加载页面。 我们现在无法解决这个问题。
我们的apache2虚拟主机文件:
<VirtualHost *:80> ServerName app.ourdomain.com ErrorLog /var/log/apache2/graphiti-error.log CustomLog /var/log/apache2/graphiti-access.log common <Location "/"> require valid-user order allow,deny Allow from all AuthType Basic AuthName "Stats" AuthBasicProvider file AuthUserFile /etc/passwd_lp </Location> ProxyRequests off ProxyPreserveHost on ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ <Proxy *> Order allow,deny Allow from all </Proxy> </VirtualHost>
我们在Ubuntu EC2 12.04上使用Apache2 v2.2.22
我们已经尝试过了; 将Auth声明移动到<Proxy>
块; 设置ProxyRequests on
; 设置ProxyPreserveHost off
。
谢谢
我现在已经解决了这个问题。 这与Apache最终没有任何关系(本身)。 Graphiti使用JavaScript函数向Graphite服务发出HTTP请求,我们将其设置为一个单独的虚拟主机,也有Auth设置(有些用户更喜欢直接使用它)。
所以基本上,没有用户/密码在石墨正在使用的URL,所以每一个触发Auth提示。 为了解决这个问题,我们只需要更新我们的模板,以便使用http://<user>:<password>@<host>
语法生成URL。