subdomain.example.com:80 から、XXX.XX.XX.XXX:8888 に、Apache Proxy を使用せずにリダイレクトする方法はありますか。

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 を使って解決することは可能でしょうか。
(少し検索した限りでは、だめそうでした。ですが、詳しくないので判断できません。)
または、他に方法があるようでしたら是非教えてください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/20 16:40:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント300pt

80番でsubdomain以外のドメインも受けていて、Hostヘッダを見てsubdomain.example.comの時のみxxx.xxx.xx.xx:8888に飛ばすということでしょうか?
であれば何らかのHTTPProxyを経由しないと無理だと思います。その場合ApacheHttpdを避けるだけなら、node-proxyやnginxを使うという選択しになります。


全ての80番ポートへのアクセスを全てxxxx.xxxx.xxx.xxxx:8888へ、TCPレベルで転送したいだけならiptablesで出来ます。それで良ければ必要なら後で追加回答します。

他1件のコメントを見る
id:y-kawaz

間違って紹介したんじゃと今突然思い出したんですがやっぱ間違ってたので訂正(^^;
メジャーなのはnode-http-proxyですね。
node-proxyってプロジェクトも存在するから紛らわしいです。

2012/01/12 11:14:55
id:piglovesyou

はい、nodejitsu / node-http-proxy ですね。いろいろあって、現在こちらを利用させてもらっています。
まさかproxy まわりのモジュールも揃ってると思わなかったので、id:y-kawaz さんの回答はとても参考になりました!

2012/01/12 11:59:41

その他の回答1件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226ここでベストアンサー

ポイント300pt

80番でsubdomain以外のドメインも受けていて、Hostヘッダを見てsubdomain.example.comの時のみxxx.xxx.xx.xx:8888に飛ばすということでしょうか?
であれば何らかのHTTPProxyを経由しないと無理だと思います。その場合ApacheHttpdを避けるだけなら、node-proxyやnginxを使うという選択しになります。


全ての80番ポートへのアクセスを全てxxxx.xxxx.xxx.xxxx:8888へ、TCPレベルで転送したいだけならiptablesで出来ます。それで良ければ必要なら後で追加回答します。

他1件のコメントを見る
id:y-kawaz

間違って紹介したんじゃと今突然思い出したんですがやっぱ間違ってたので訂正(^^;
メジャーなのはnode-http-proxyですね。
node-proxyってプロジェクトも存在するから紛らわしいです。

2012/01/12 11:14:55
id:piglovesyou

はい、nodejitsu / node-http-proxy ですね。いろいろあって、現在こちらを利用させてもらっています。
まさかproxy まわりのモジュールも揃ってると思わなかったので、id:y-kawaz さんの回答はとても参考になりました!

2012/01/12 11:59:41
id:kodairabase No.2

回答回数661ベストアンサー獲得回数80

Ruby on Railsのポート変更(WEBric) http://konohaotoshi.blog69.fc2.com/blog-entry-23.html を参考に、ポート 8888 にしてください。

id:piglovesyou

ありがとうございます。
ごめんなさい、特定のポートでサービスを立ち上げる方法は分かっております。読みきれていなかったらすみません。

2011/12/20 11:32:16
  • id:tdoi
    RailsはApacheなしでも動作しますが、Webサーバがなくても動作するという訳ではないので、Railsのサイトの運用をどうやっているかによって方針も変わるのじゃないかと。Webサーバには、WEBrickか、Mongorelか何か使ってるのですよね?

    WEBrickなら、この方法とかでいいかもです。
    http://d.hatena.ne.jp/ursm/20080214/1203007867
  • id:TransFreeBSD
    ひねった別解としてもう一つ別のIPアドレスを割り当てるというのもあります。
    http://q.hatena.ne.jp/1313328861#a1094201
    IPアドレスさえ違えば同じサーバ同じポート番号でも別のhttpdで待ち受けできます。
    普通はやらないですけどね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません