私は最初のwebsocketアプリケーションを実行しようとしていて、this link to get some sample codeと言いました。私は単にCustomEndPoint
、WSClient
クラス、htmlファイルを作成し、それをnetbeans IDEで実行したところ、魅力的だった。WebSocketコードがProd Tomcat Serverで動作しない - 404エラー
私は、そのURL wss://
とws://
を変更することにより、https
を使用してアクセス可能であるにTomcatサーバーにデプロイしようとしたし、それは私のdevの環境で働いていたが、私は、コンソールで生産ENVにエラー以下の投げを同じコードを展開したとき:
WebSocketを 'wss://xxxxxx-xxx.xxxx'に接続します。 失敗コム/websoc/ratesrv」のWebSocketハンドシェイク中にエラーが発生しました:予期しない応答コード:404 I WS呼び出し以下のdevの環境では
取り組んでいる:
wsocket = new WebSocket("wss://dev_ip:8443/websoc/ratesrv");
製品版のために私が使用しています(URL内の.COMに注意してください):
wss://xxxxx-xxxxx.xx.com/websoc/ratesrv
PRODではポート番号も明示的に指定する必要がありますか?
です。 PRODの通常のシナリオでは、Web層(Apacheまたはリバースプロキシとして動作するその他のWebサーバー)があることです。このレイヤーはリダイレクションルールを定義します。たとえば、xxxxxx-xxx.xxxx.com/websocのリクエストはprod_ip:8443/websocにリダイレクトされます。その場合、ポートを指定する必要はありません。私が提案しているのは、あなたのWebアプリケーションで単純なファイル(index.html)を配備し、xxxxxx-xxx.xxxx.com/websoc/index.htmlにアクセスしようとすることです。あなたが404を取得した場合、問題はwebsocketではなく、Webレイヤーのリダイレクトを伴うものです。 –
@ MarcoA.Hernandez:warファイルを展開すると、xxxxxx-xxx.xxxx.com/websoc/index.htmlにアクセスできます –
(index.htmlとwebsocketへの)すべての呼び出しはhttpsですか? httpコールを試すことはできますか?リバースプロキシを使用している場合は、tomcatに直接アクセスできますか? –