私はtomcat 8.0.027とjava jdk 7.を使用して私のMac上でローカルにWebサイトを開発しました。このサイトはウェブソケットに依存しており、すべて正常に動作します。私が仮想プライベートJavaサーバーにサイトを展開すると、エラー404が表示されます。websocketのURLはws://www.modelstudio3d.com/handler、私のサイトはwww.modelstudio3d.comです。私は追加しようとしました:8080ホスト名に、接続が拒否されたエラーを変更します。 ../handlerxにURLを変更すると、接続が拒否されます。私は、私が戦争ファイルに追加のwebsocket jarをパッケージ化していないことを確認しました(私が知る限りはそうではありません)。私のサーバーは、tomcat 8.0.22とJDK 7を実行しています。私のISPは、何の指導もできません。Tomcat/websocketがエラー404で応答しています
私のクライアントコードは
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());
...
サーバコードの興味深い部分は、私は、WSをリダイレクトすることによって妨害される可能性がありますApacheの場所フィルタについてここで何かを読んだ
@ServerEndpoint(value = "/handler",
configurator = GetHttpSessionConfigurator.class)
public class WebSocket {
です:にhttp:しかし、それがどこにあるのか、それを変更する方法は分かりません。
私はあなたの問題を特定していませんが、WebSocketの実装が以前のバージョンのTomcatから大幅に変更されたことは分かります。最新のバージョン、特に8.5.xに切り替えることをお勧めします。 –
これは難しいことです。私は以前このホスティングサービスで働いていたし、バージョンのメニューから選ぶだけです。 – brtip
私はまた、効果がなかったコンフィギュレータを削除しようとしました。 – brtip