Java Tomcat/websocket响应错误404

Java Tomcat/websocket响应错误404,java,tomcat,websocket,Java,Tomcat,Websocket,我已经使用tomcat 8.0.027和java jdk 7在mac上本地开发了一个网站。该网站依赖WebSocket,在本地运行良好。当我将站点部署到虚拟私有java服务器时,我得到一个错误404。websocket的url是ws://www.modelstudio3d.com/handler,我的站点是www.modelstudio3d.com。我已经尝试在主机名后面附加:8080,这会将错误更改为connection Rejected。将url更改为../handlerx也会生成拒绝连接。

我已经使用tomcat 8.0.027和java jdk 7在mac上本地开发了一个网站。该网站依赖WebSocket,在本地运行良好。当我将站点部署到虚拟私有java服务器时,我得到一个错误404。websocket的url是ws://www.modelstudio3d.com/handler,我的站点是www.modelstudio3d.com。我已经尝试在主机名后面附加:8080,这会将错误更改为connection Rejected。将url更改为../handlerx也会生成拒绝连接。我已经检查过我没有在我的war文件中打包额外的websocket jar(据我所知还没有)。我的服务器正在运行Tomcat8.0.22和JDK7。我的ISP无法提供任何指导

我的客户代码是

this.getWebSocketURI = function () {
    var loc = window.location, wsUri;
    if (loc.protocol === "https:") {
        wsUri = "wss:";
    } else {
        wsUri = "ws:";
        console.log("Websocket is not secure.");
    }
    wsUri += "//" + loc.host;
    wsUri += loc.pathname + "handler";
    console.log("wsUri" + wsUri);
    return wsUri;
};

this.init = function () {
    var self = this;
    self.websocket = new WebSocket(self.getWebSocketURI());
...
服务器代码中有趣的部分是

@ServerEndpoint(value = "/handler", 
            configurator = GetHttpSessionConfigurator.class)
public class WebSocket {

我在这里读到一些关于Apache位置筛选器的信息,该筛选器可能会通过将ws:重定向到http:而产生干扰,但不知道它驻留在哪里或如何更改它。

我的托管服务最终同意调查该问题。他们说mod_proxy_wstunnel没有启用,也不能启用。如果您需要使用WebSocket,请不要使用Mocha主机。

我还没有发现您的问题,但我知道WebSocket的实现自您早期版本的Tomcat以来发生了重大变化。我建议切换到最新版本,尤其是8.5.x。这将是一个棘手的问题。我以前使用过这个托管服务,你只能从他们的版本菜单中选择。我也尝试过删除配置程序,但没有效果。