连接建立中的Websocket错误:net :: ERR_CONNECTION_REFUSED'wss://'

时间:2018-04-27 22:53:39

标签: java-ee https websocket glassfish web.xml

我只想在一个页面上通过WebSockets连接到服务器。

我的客户端websocket:

var socket = new WebSocket("wss://serverName:8181/projectName/actions");

Java Server Endpoint:

/actions

使用websocket的URL具有以下结构:

https://serverName/projectName/pageName.xhtml

我的上下文根与项目名称相同。 web.xml文件中的安全性约束:

<security-constraint>  
    <web-resource-collection>  
        <web-resource-name>SecureResource</web-resource-name>  
        <url-pattern>/projectName/*</url-pattern>  
        <http-method>GET</http-method>
        <http-method>POST</http-method> 
    </web-resource-collection>  
    <user-data-constraint>  
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
    </user-data-constraint>  
</security-constraint>

我使用Glassfish Application Server 4.1。服务器有两个http侦听器。关于听众:

Http-Listener-1:侦听端口8080,未启用安全性,未启用websocket支持

Http-Listener-2:侦听端口8181,启用安全性,启用websocket

两者都启用了SSL3和TLS。我正在提供服务器详细信息,因为我真的是服务器问题的初学者,所以我不知道这些细节是否重要。我在尝试查找修复程序时也运行以下命令。但这些命令可能没有关系:

asadmin set server.network-config.protocols.protocol.http-listener-1.http.scheme-mapping=X-Forwarded-Proto
asadmin set server.network-config.protocols.protocol.http-listener-2.http.scheme-mapping=X-Forwarded-Proto

我的所有连接都可以在HTTPS上运行而不会出现问题。但是,在我使用websocket的页面中,我收到此错误:

与'wss:// serverName:8181 / projectName / actions'的WebSocket连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED

我尝试了很多不同的方法。我也尝试了没有端口号的websocket URI。在我们在服务器计算机上获得数字证书之前,一切都运行良好。我当时只使用'ws'而不是'wss'而且我没有web.xml文件中的安全约束。但是,经过大量阅读和尝试后,我无法在HTTPS下提供websocket连接。希望有人可以提供帮助。

0 个答案:

没有答案