我试图使用服务器提供的服务,需要基本的HTTP身份validation,但是我正在使用的应用程序不支持身份validation。 我想要做的是创build一个代理,使我的authentication应用程序通过代理连接(这将添加authentication信息)到需要authentication的服务器。 我敢肯定,这可以做到,但是我不知道如何做到这一点的代理人数。
基本上,我想要做的就是有一个代理服务这个URL:
http://username:password@remoteserver/path
作为这个URL:
http://proxyserver/path
我可以在Linux上运行它,但如果我可以运行Windows,也是一个好的select。 开源或至less免费是必须的。 一个很大的好处是,如果安装起来相当简单。
基本身份validation通常是“用户名:密码”的Base64编码string和HTTP头“授权”。
通过将以下内容添加到Apache2 vHost,你应该没问题:
<Location /path> RequestHeader set Authorization "Basic <base64string>" </Location> ProxyPass /path http://backend/path ProxyPassReverse /path http://backend/path
您可以在http://www.motobit.com/util/base64-decoder-encoder.asp (例如)base64编码“用户名:密码”部分。 上面的例子需要mod_headers和mod_proxy(应该可以在Linux和Windows上使用Apache2)。
您还可以修改其他一些软件包(如Windows上的WinGate)中的请求(添加/更改标头)。
如果您看到一个浏览器popup对话框,通常意味着您从代理服务器获得407响应,或者从terminal服务器获得401响应,这不一定表示使用HTTP基本身份validation。
您可以loginvalidation挑战字段,或者只是使用wireshark查看发生了什么。