質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

3029閲覧

socket.io.jsファイルが「net::ERR_HTTP2_PROTOCOL_ERROR 200」となり、socket通信が行えません。。

fenjapa

総合スコア8

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/05/21 06:00

AWS EC2上にて、WebRTCによる開発を行っているのですが、
SSL化を行ったドメインにて接続を行った際、
コンソール上に「net::ERR_HTTP2_PROTOCOL_ERROR 200」と表示され、
正しく接続が確立されませんでした。

IPアドレスによる接続時は、socket.io.jsファイルの読込などのエラーは表示されておりません。

ロードバランサーを利用し、nginx側にてproxy_passを設定しており、
フロント(/public/index.html)の表示は確認できております。

404エラーの場合は、読込が行えない・ファイルが存在しないといった理由でわかるのですが、
200の場合は、接続は成功していると認識しておりましたが、誤りなのでしょうか。

関連するファイルを以下掲載させていただきます。

node

1"use strict"; 2const express = require( "express" ); 3const http = require( "http" ); 4const socketIO = require( "socket.io" ); 5 6const app = express(); 7const server = http.Server( app ); 8const io = socketIO( server , {cors: { origin: '*', }} ); 9const PORT = 3333; 10 11// 接続時の処理 12io.on( 13 "connection", 14 ( socket ) => 15 { 16 ...... Socket 通信時の処理 17 } 18); 19 20// 読込先ディレクトリの設定 21app.use( express.static( __dirname + "/public" ) ); 22server.listen( 23 PORT, 24 () => { 25 console.log( "Server on port %d", PORT ); 26 } 27); 28

nginx

1## conf file 2server { 3 listen 80; 4 expires off; 5 6 server_name domain.com; 7 location / { 8 proxy_redirect off; 9 proxy_set_header Host $host; 10 proxy_set_header X-Real-IP $remote_addr; 11 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 12 proxy_set_header X-Forwarded-Proto $scheme; 13 proxy_read_timeout 1m; 14 proxy_connect_timeout 1m; 15 proxy_pass http://IP_ADDRESS:3333; 16 } 17}

また、Google Chrome上のHeaderの内容は以下となります。

GoogleChromeHeader

1Request URL: https://domain.com/socket.io/socket.io.js 2Request Method: GET 3Status Code: 200 4Remote Address: *************:443 5Referrer Policy: strict-origin-when-cross-origin 6cache-control: public, max-age=0 7content-type: application/javascript 8date: ************* 9etag: "4.1.2" 10server: nginx/1.18.0 (Ubuntu) 11x-content-encoding-over-network: br 12x-sourcemap: socket.io.js.map 13:authority: domain.com 14:method: GET 15:path: /socket.io/socket.io.js 16:scheme: https 17accept: */* 18accept-encoding: gzip, deflate, br 19accept-language: ja,en-US;q=0.9,en;q=0.8 20cache-control: no-cache 21pragma: no-cache 22referer: https://domain.com/ 23sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90" 24sec-ch-ua-mobile: ?0 25sec-fetch-dest: script 26sec-fetch-mode: no-cors 27sec-fetch-site: same-origin 28user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問