基本HTTP認証を必要とするサーバーが提供するサービスを使用しようとしていますが、使用しているアプリケーションは認証をサポートしていません。私がやりたいのは、認証なしのアプリケーションがプロキシを介して(認証情報を追加する)認証を必要とするサーバーに接続できるようにするプロキシを作成することです。これは可能だと確信していますが、プロキシの数に圧倒され、これを行う方法の答えを見つけることができませんでした。
基本的に、私がやりたいのは、プロキシにこのURLを提供させることだけのようです。
http://username:password@remoteserver/path
このURLとして:
http://proxyserver/path
Linuxで実行できますが、Windowsでも実行できればプラスです。オープンソースまたは少なくとも無料は必須です。大きなプラスは、セットアップがかなり簡単かどうかです。
基本認証は通常、「username:password」のBase64エンコード文字列とHTTPヘッダー「Authorization」です。
以下をApache2vHostに追加することで、問題がないはずです。
<Location /path>
RequestHeader set Authorization "Basic <base64string>"
</Location>
ProxyPass /path http://backend/path
ProxyPassReverse /path http://backend/path
「username:password」の部分は http://www.motobit.com/util/base64-decoder-encoder.asp (たとえば)でbase64エンコードできます。上記の例では、mod_headersとmod_proxyが必要です(Apache2ではLinuxとWindowsの両方で使用できるはずです)。
Windows上のWinGateなど、他のいくつかのパッケージで要求を変更(ヘッダーを追加/変更)することもできます。
ブラウザのポップアップダイアログが表示された場合、これは通常、プロキシから407応答、またはエンドサーバーから401応答を受け取っていることを意味しますが、これは必ずしもHTTP基本認証の使用を示しているわけではありません。
認証チャレンジフィールドをログに記録するか、wiresharkを使用して何が起こっているかを確認できます。