サーブレット 3.0 と Jetty を使用して HTTPS プロキシ サーバーを作成しています。
jetty で HTTPS Connect を処理するにはどうすればよいですか?
現在私は使用してjetty-maven-plugin
おり、私のプラグイン構成は次のようになります-
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<contextPath>/</contextPath>
</webApp>
<scanIntervalSeconds>1</scanIntervalSeconds>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>9090</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
<connector implementation="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<port>9090</port>
<keystore>src/keystore.jks</keystore>
<keyPassword>test</keyPassword>
<password>test</password>
</connector>
</connectors>
</configuration>
/plugin>
はい - 同じポートで HTTP と HTTPS を処理したいです。Jetty を起動すると、問題なく起動します。
2013-04-21 15:15:03.750:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:9090
2013-04-21 15:15:03.912:INFO:oejus.SslContextFactory:Enabled Protocols [SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2] of [SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2]
2013-04-21 15:15:03.917:INFO:oejs.AbstractConnector:Started SslSelectChannelConnector@0.0.0.0:9090
Started Jetty Server
私は doGet と doPost を @Override しましたが、HTTP リクエストを送信すると、両方のメソッドが正常に起動します。ただし、クライアントが HTTPS Connect を送信したときにそれらのいずれも起動されません。SSL トラフィックを検査できるように、HTTPS Connect をインターセプトしたいと考えています。
それを機能させる方法はありますか?
更新-最初の問題を見つけたと思います。SelectChannelConnector と SslSelectChannelConnector がポート 9090 で開始されていることをログで確認できますが、SSL コネクタは起動されていません。
私の質問は、サーブレット 3.0 と Jetty を使用して同じポートで HTTP と HTTPS の両方を処理することは可能ですか?