What's the easiest way to create an HTTP proxy which adds basic authentication to requests?
I am trying to use a service provided by a server which requires basic HTTP authentication, however the application I am using does not support authentication. What I'd like to do is create a proxy that will enable my auth-less application to connect via the proxy (which will add the authentication information) to the server requiring authentication. I'm sure this can be done, however I'm overwhelmed with the number of proxies out there and couldn't find an answer how to do this.
Basically it seems all I want to do is have a proxy serve this URL:
http://username:password@remoteserver/path
as this URL:
http://proxyserver/path
I can run it on Linux, but a plus if I can run it Windows as well. Open source or at least free is a must. A big plus is if it's fairly straightforward to setup.
Basic Authentication normally is a Base64 Encoded String of "username:password" and a HTTP-Header "Authorization".
By adding the following to a Apache2 vHost you should be fine:
<Location /path>
RequestHeader set Authorization "Basic <base64string>"
</Location>
ProxyPass /path http://backend/path
ProxyPassReverse /path http://backend/path
You can base64 encode the "username:password" part at http://www.motobit.com/util/base64-decoder-encoder.asp (for example). The example above needs mod_headers and mod_proxy (should be available for both - Linux and Windows - with Apache2.