【发布时间】:2020-11-19 08:22:35
【问题描述】:
我有一个通过 Apache2-Vhost 托管的 Tomcat9 网络服务器。
如何保护在 tomcat 上运行的 websocket?
- 是否通过来自letsencrypt/certbot 的Apache Vhost 证书?
- 是否在Tomcat的Websocket类的
javax.websocket.server.ServerEndpointConfig.Configurator中?
@Override
public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) {
SSLContext csslContext = SSLContext.getInstance("TLS");
config.getUserProperties().put(Constants.SSL_CONTEXT_PROPERTY, csslContext);
config.getUserProperties().put(Constants.SSL_PROTOCOLS_PROPERTY, csslContext);
}
【问题讨论】:
-
没有“Apache2 Tomcat”网络服务器,你有哪一个? Apache httpd 还是 Tomcat?由于您还标记了 Java,我假设它是 tomcat 并相应地进行编辑。正确(有解释),如果是别的。此外,不涉及任何代码,我认为这个问题不在 stackoverflow 上(参见 help center)
-
当你说“安全”时,你到底是什么意思?
-
@ChristopherSchultz 我的意思是,确保数据传输安全。就像 https 在 http 上所做的一样。
-
所以你想保护反向代理(Apache httpd?)和Tomcat之间的通信通道?它们目前是如何连接的? (例如,什么协议/httpd 模块在起作用)?
-
@ChristopherSchultz 我想保护从客户端(网络浏览器/网站)到 tomcat9 网络服务器的通道。 tomcat 9 网络服务器是 8080 上的本地主机,在许多应用程序中都是默认的,我的 apache 服务器通过 tomcat 连接器连接。重要的是,与 apache 的 websocket 连接是安全的。
标签: java apache tomcat websocket