2012-04-11 7 views
2

まず、mod_proxy_connectモジュールを使用してhttpsを使用して配信するオリジンサーバー上のコンテンツにアクセスすることについては言及していないことを明確にしたいと思います。プロキシとユーザーの間でssl暗号化を使用する転送プロキシを使用することはできますか?

私が欲しいのは、クライアントとプロキシの間のセキュリティで保護された接続です。また、実際に要求されたオリジンがセキュリティ保護されていない標準HTTPサーバーによってサービスされている場合もあります。

私はapache 2.2を使用していますが、これが可能ならapacheでこれを可能にしたいと思います。

私はWiresharkのを使用して、いくつかの要求を嗅いと指摘し、次の

URL http://example.com/file lookslのIKEこのの通常のhttp:

GET /file HTTP 1.1 
Host: example.com 

注:オリジンサーバへの接続に

ホスト情報が実際の要求から取り除かれ、ホストヘッダーが代わりに提供されます(名前付き仮想ホストではサーバー側で処理可能)。要求がプロキシサーバを経由する場合には、それは少し違って見える

プロキシサーバーへの接続で:

GET http://example.com/file HTTP 1.1 
Host: example.com 

注要求ラインは現在、実際にプロトコルを含む完全なURLが含まれていることと、ホスト名。 RFCを正しく読むと、ホストヘッダーはおそらく冗長ですが、HTTP 1.1で必要です。

ポート443でリッスンしているApache Webサーバーをセットアップし、sslエンジンと証明書を使って仮想ホストを有効にし、それを任意のホスト名にバインドしないでください。

私はsslを話すためにapacheを取得する必要がありますが、証明書の一般的な名前はproxysサーバーのIPアドレスに接続する行に指定されたホストと一致しません。

現行の標準でも私がしたいことがありますか?もしそうなら、どうすればいいですか?

+0

この1 [同じ質問多かれ少なかれだこと](http://security.stackexchange.com/q/13662/2435)は、数時間前に他の人がSecurity.SEで尋ねました。 – Bruno

答えて

1

もちろん、これはHTTPSプロキシです。

クライアントはSSLを介してプロキシに接続し、プロキシにテキストでコマンドを送信します。

ないすべてのクライアントがこれをサポートしてもHTTPSプロキシへのSSL接続「内の」HTTPS接続を確立するためにHTTP CONNECTを使用することも可能である:

HTTPS connection over HTTPS proxy 
client   proxy   server 
ssl \-------/ ssl 
connect---------200 OK 
ssl \---------------------------/ ssl 
data-------------------------------data 
    /---------------------------\ 
     /-------\ 



HTTP connection over HTTPS proxy 
client   proxy   server 
ssl \-------/ ssl 
GET http://server/ -> 
         GET/
         Host: server -> 
         <---------OK, data 
<--------------OK, data 
     /-------\ 
関連する問題