我有一个运行在Tomcat前面的Apache服务器来利用websocket。我有一个使用websockets的功能齐全的网页。
该网页通过...连接到网络套接字。
wss://example.com:8443/myApp/websocket/myEndpoint
对于Apache配置,在httpd.conf中,我使用的是代理...
SSLProxyEngine on
ProxyPass /example https://example.com:8443/myApp/websocket/
ProxyPassReverse /example https://example.com:8443/myApp/websocket/
在Tomcat的server.xml中,我有一个连接器...
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
URIEncoding="UTF-8" keystorePass="example"
keystoreFile="example/file"/>
我正在使用的网络阻止端口8443上的连接(我无法更改此设置)。网页在网络上加载时,但是websocket无法运行并引发错误ERR_CONNECTION_REFUSED
。当我从网络外部连接到该页面时,一切似乎都正常运行。
我不能简单地更改Tomcat的端口,因为Apache使用的是443。似乎网页本身使用了代理,但websocket却没有。如何代理/更改websocket连接,以便可以在端口8443被阻止的网络上使用它?