我正在使用servlet 3.0和Jetty编写HTTPS代理服务器。拦截Jetty中的HTTP Connect
如何在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在同一个端口。当我开始码头,它开始只是细
2013-04-21 15:15:03.750:INFO:oejs.AbstractConnector:Started [email protected]: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 [email protected]:9090
Started Jetty Server
我已经在@Override的doGet和doPost和这两种方法火就好了,当我发送HTTP请求。但是,当客户端发送HTTPS Connect时,它们都不会被触发。我想拦截HTTPS Connect,以便检查SSL流量。
任何想法如何使它工作?
更新 - 我想我找到了第一个问题。即使我在日志中看到SelectChannelConnector和SslSelectChannelConnector在端口9090上启动,SSL连接器也未被触发。
所以我是 - 的问题是有可能使用的servlet 3.0和Jetty来处理HTTP和HTTPS同一端口上?
码头或者是精确的JVM抛出AddressAlreadyInUseException当您尝试在码头9同一端口上配置两个连接器符合市场预期。 – 2013-04-22 11:01:41
除了在某些版本的Windows上,显然允许您打开两次相同的端口..这只是错误和破碎,此外,http和https不应该在同一个端口上运行 – 2013-04-22 12:17:33
Downvoted,因为它实际上是可能的。 – 2014-07-22 15:12:39