Nodejsでポート80で動かす

Pocket
LINEで送る

nodejsで作ったWebアプリを80番ポートで動作させたいけど、Apacheが使っているし、Apacheを止めてルートで80番ポートを割り当てるのもセキュリティ的にいやなんでApacheを使ってポート8080を80にリバースプロキシさせてみました。

Apacheの設定はこんな感じ。

NameVirtualHost *:80
 
<VirtualHost *:80>
        ServerName example.com       // ServerNameは適宜変更してください。
        ProxyPass / http://hogehoge.net:8080/
        ProxyPassReverse / http://hogehoge.net:8080/
</VirtualHost>

nodeのソースはこんな感じ。
サーバ側

var express = require('express'),
  app = express(),
  http = require('http'),
  server = http.createServer(app),
  io = require('socket.io').listen(server);

app.configure(function(){
  app.use(express.static(__dirname + '/public'));
});

// listen for new web clients:
server.listen(8080);

クライアント側

var socket = io.connect('http://hogehoge.net:8080');
 
socket.on('connect', function(req, res) {
     // 必要な処理
});

これで、http://hogehoge.netにアクセスすればリバースされてアプリが動きます。
他にもやり方はありそうだけど、とりあえずはこれで。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください