我有一个内部服务器,需要重写入站请求到另一个内部框,出于愚蠢的原因,这两台机器都启用了基本身份validation。 为了解决auth的两个级别,并且因为这些只是内部服务器,所以我认为我可以这样做:
RewriteCond %{REQUEST_URI} /api/service RewriteRule /api/service/(.*) http://uname:[email protected]/$1 [L,P]
我的期望是,uname:这个重写得到应用的时候,pword将会在下一个服务器上进行。
我认为'P'标志导致这种情况不会发生,但是我要求这是一个代理请求,因为从请求发起的浏览器不会响应来自不同URI的响应而不是请求。
谢谢
一种方法来做到这一点(我相信有更简单的方法…但是)你可以基本authentication到第一个框通常如http://userxx:[email protected]/
然后用这样的东西生成所需的授权标题;
<Location /api/service> Order Deny,Allow Allow from All #echo username:password | base64 RequestHeader set Authorization "Basic ZmFzZ11fef1111111NlbnlpcAo" ProxyPass http://actualservice.uri.com/api/service </Location>
并使用该命令来生成base64散列;
echo username:password | base64