AWSのELB配下のEC2にapacheとnode.jsを構築しています。
apacheが既存システムとして動いており、ブラウザとのリアルタイム通信機能するにあたり、node.js及びWebSocketが追加されたような状態です。
ブラウザからサーバに対して、WebSocketで通信を開始しようとすると、
failed: Error during WebSocket handshake: Unexpected response code: 200
エラーが出てしまいます。
ちなみにELB側にSSL証明書を紐付けているため、ブラウザからはhttps通信なのですが、ELB→EC2はhttp通信です。
よってブラウザからWebSocket通信するURLは"wss://hoge:9001"となり、
ブラウザに直接、https://hoge:9001と打ち込むとhello worldは返すことはできたのですが、javascirptからnew WebSocket('wss://hoge:9001')とすると、上記のエラーが出てしまいます。
なお、ELBを利用しているのは、AWSのCertificate ManagerによってSSL証明書の無料利用かつ、更新不要にしたいからであり、EC2インスタンスは1つだけです。
解決策、妙案あれば宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/10 17:42