Ruby on Rails や Node.js など、Apache 無しで稼働するサーバ内の各サービスに、サブドメイン名によってアクセスを振り分けることは可能ですか。
現在、IP XXX.XX.XX.XXX 上で起動した、Ruby on Rails のwebサービス(port:80)を運営しており、example.com:80 からブラウザでアクセスできる状態となっております。
この度、同じサーバ内の別port (8888)で起動した、新しい Ruby on Rails サービスを制作しました。これを、サブドメイン(subdomain.example.com:80)からアクセスできるようにしたいと考えています。
これには、どのような方法がありますでしょうか。
ひとつには、Apache Proxy を経由させることが考えられると思います。
ですが、理由は特にないのですが、できればApache を使わない方法を探しております。
たとえば、iptables を使って解決することは可能でしょうか。
(少し検索した限りでは、だめそうでした。ですが、詳しくないので判断できません。)
または、他に方法があるようでしたら是非教えてください。
80番でsubdomain以外のドメインも受けていて、Hostヘッダを見てsubdomain.example.comの時のみxxx.xxx.xx.xx:8888に飛ばすということでしょうか?
であれば何らかのHTTPProxyを経由しないと無理だと思います。その場合ApacheHttpdを避けるだけなら、node-proxyやnginxを使うという選択しになります。
全ての80番ポートへのアクセスを全てxxxx.xxxx.xxx.xxxx:8888へ、TCPレベルで転送したいだけならiptablesで出来ます。それで良ければ必要なら後で追加回答します。
80番でsubdomain以外のドメインも受けていて、Hostヘッダを見てsubdomain.example.comの時のみxxx.xxx.xx.xx:8888に飛ばすということでしょうか?
であれば何らかのHTTPProxyを経由しないと無理だと思います。その場合ApacheHttpdを避けるだけなら、node-proxyやnginxを使うという選択しになります。
全ての80番ポートへのアクセスを全てxxxx.xxxx.xxx.xxxx:8888へ、TCPレベルで転送したいだけならiptablesで出来ます。それで良ければ必要なら後で追加回答します。
間違って紹介したんじゃと今突然思い出したんですがやっぱ間違ってたので訂正(^^;
メジャーなのはnode-http-proxyですね。
node-proxyってプロジェクトも存在するから紛らわしいです。
はい、nodejitsu / node-http-proxy ですね。いろいろあって、現在こちらを利用させてもらっています。
まさかproxy まわりのモジュールも揃ってると思わなかったので、id:y-kawaz さんの回答はとても参考になりました!
Ruby on Railsのポート変更(WEBric) http://konohaotoshi.blog69.fc2.com/blog-entry-23.html を参考に、ポート 8888 にしてください。
ありがとうございます。
ごめんなさい、特定のポートでサービスを立ち上げる方法は分かっております。読みきれていなかったらすみません。
間違って紹介したんじゃと今突然思い出したんですがやっぱ間違ってたので訂正(^^;
2012/01/12 11:14:55メジャーなのはnode-http-proxyですね。
node-proxyってプロジェクトも存在するから紛らわしいです。
はい、nodejitsu / node-http-proxy ですね。いろいろあって、現在こちらを利用させてもらっています。
2012/01/12 11:59:41まさかproxy まわりのモジュールも揃ってると思わなかったので、id:y-kawaz さんの回答はとても参考になりました!