LoginSignup
9
6

More than 5 years have passed since last update.

Socket.ioをサブディレクトリ(リバースプロキシ)で動かす

Last updated at Posted at 2017-11-04

ローカルで動いていたスクリプトがサーバで動かなかったのでメモ。

2017/11/04 記事作成
2017/11/12 コメントを追加

Before

server.js
var http    = require('http');
var server  = http.createServer(response);
var io      = require('socket.io')(server);
// --- 処理 ---
server.listen(3000);
client.js
const socket = io();

After

server.js
var http    = require('http');
var server  = http.createServer(response);
var io      = require('socket.io')(server);
// サブディレクトリのパスを指定する。
io.path('/subdir');
// --- 処理 ---
server.listen(3000);
client.js
// pathを指定する。
const socket = io({path: '/subdir/socket.io/'});

原因

通常、Socket.ioはインスタンス生成後接続先をサーバのルートに探しに行くので、サブディレクトリで切っていると/socket.io/にアクセスできずに404を返す。
そこで、正しいパスをそれぞれに設定してあげるとうまく動く。

質問はお気軽に

コメント欄にどうぞ。
Twitterのほうが返信が早いです↓
Twitter - @kznr_luk

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6