2010-05-13 159 views
4

上我有一个Web服务端点和端口X. 在某些时候,这个端点需要切换到HTTPS协议HTTP连接器,但在同一端口上!我知道这不是正常的做事方式,但这是我的客户期望从他们正在使用的旧服务器...)Tomcat的HTTP和HTTPS的同一端口

有没有办法在tomcat中做到这一点?

+1

获得新客户的时间!他们是否有任何理由,还是仅仅是“这就是我们一直这样做的事情”? – 2010-05-13 13:11:18

回答

-1

你并不需要在同一端口上运行HTTP & HTTPS,配置Tomcat重定向在server.xml文件要求HTTPS。

5

这是不可能的Tomcat.The HTTPS连接器将只接受SSL连接。

我们有这样一个代理开发的内部。这并不难。您只需检查第一个传入数据包。寻找SSL握手的模式。我们只查找CLIENT_HELLO。一旦找出协议,就可以相应地转发请求。

这真的很丑。如果可能的话,你不应该这样做。我们必须这样做,因为传统的客户端会这样做,并且不可能全部升级它们。

-1

我想知道他们为什么不通常在同一个端口!那不是那么容易吗?

的原因可能是相关的Java API(javax.net.ssl中)不允许;你必须有不同的服务器套接字。有什么替代SSL impls for Java?我不知道任何。

0

有这样的事,作为HTTPS升级,从而形成之后它明文HTTP连接是由双方协议升级到HTTP。你是这个意思吗?如果是这样的话,Tomcat似乎并不支持它,并且Java也不是开箱即用的。你也许可以自己写一个Tomcat连接器来完成它。在客户端上你到底有一个更有趣的问题;-)

但我会问为什么?港口并不昂贵,你不能使用两个。