二〇一五年 長月 十二日 土曜日
■
Node.js + Express.js 覚書その3・サブドメイン
[/links]
この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。
私のウェブサイトは現在3つのサブドメインに分かれている(折り紙とブログとその他)。それを Node.js で実現するにはどうするか。
いくつか方法があるようだが、すでに Apache でサブドメインを設定している場合、Apache のリバースプロキシを使うと簡単だ。
Apache でサブドメインを設定するには、バーチャルドメインを使用する。普通は VirtualHost の中に ServerName と DocumentRoot を指定するが、DocumentRoot の代わりに ProxyPass と ProxyPassReverse を指定して、転送先をポート番号で分ける。例えば以下。
<VirtualHost *:80>
ServerName ousaan.com
ServerAlias www.ousaan.com
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
<VirtualHost *:80>
ServerName blog.ousaan.com
ProxyPass / http://localhost:3001/
ProxyPassReverse / http://localhost:3001/
</VirtualHost>
<VirtualHost *:80>
ServerName origami.ousaan.com
ProxyPass / http://localhost:3002/
ProxyPassReverse / http://localhost:3002/
</VirtualHost>
そのうえで、Node.js 側でサーバーを3つ作って、それぞれが対応するポートをリスンすればよい。例えば以下。
express = require 'express'
servers =
www: express()
blog: express()
origami: express()
servers.www
...
.listen 3000, 'localhost'
servers.blog
...
.listen 3001, 'localhost'
servers.origami
...
.listen 3002, 'localhost'
[このカテゴリをまとめて読む。]
[最新の記事を読む。]
|