現在C#でプロキシサーバを作成しています。
httpのアドレスには正しくプロキシサーバとして、振る舞うことが確認できたのですが、
httpsのアドレスへのアクセスを受信することが出来ませんでした。
受信部分は以下のようになっています
HttpListener作成
HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://192.168.1.3:6000/"); listener.Start(); listener.BeginGetContext(this.OnRequested_ClientToProxy, listener);
HTTP要求受信部
public void OnRequested_ClientToProxy(IAsyncResult result) { try { HttpListener listener = (HttpListener)result.AsyncState; HttpListenerContext context = listener.EndGetContext(result); } }
■問題再現手順
1.Clientで、プロキシ設定をHttpListenerのアドレスとポート番号に設定
2.サーバで上記のプログラムを動作させる
3.ClientでIEを使ってhttps://www.google.com/ にアクセスする。
4.HTTP要求受信部の関数が呼び出されない。
設定方法が分かる方がいましたら教えてください。
回答未満のためコメントのみですが、HTTPSをプロキシサーバー経由で使う場合、最初にCONNECTメソッドで接続を確立してからSSLでの通信が始まるので、HTTPのGETなど個別のメソッドは引っかからない気がします。そうでないと、プロキシサーバーでSSLの通信内容を盗聴できるということになりますよね。「HTTPS プロキシ CONNECT」などと検索するとヒントが得られるかもしれません。
回答1件
あなたの回答
tips
プレビュー