lighttpdのリバースプロキシ設定で困っております。


実現したいことは、フロントエンドとバックエンドが同じlighttpdで、
たとえば、ポート80で受けたリクエストを同じlighttpdのポート8080で受けようとしたいのですが、実現できておりません。

■lighttpd.conf
server.port = 80,8080
proxy.server = ("" => ((
"host" => "127.0.0.1",
"port" => 8080))
)

■動作のイメージ
[client]

<http://192.168.1.1/sample:80>

[lighttpd]

<http://192.168.1.1:8080>

[lighttpd]

<http 200 OK>

[client]

質問は、以下が可能であれば、設定についてご指摘をお願いいたします。
・1つのlighttpdサーバ上に2つ以上のポートを設定することは可能でしょうか?
・1つのlighttpdをフロントエンド/バックエンドとすることが可能でしょうか?
よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/02/22 14:20:57
  • 終了:2013/02/22 20:14:33

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4445ベストアンサー獲得回数18272013/02/22 16:59:52

ポイント50pt

定義ファイルを 80 用と、8080 用の二つ作って、別のプロセスとして起動する必要があると思います。
80 用を標準の /etc/lighttpd/lighttpd.conf に定義する(こっちに proxy.server の定義をする)としたら、
もうひとつ 8080 用の定義を /etc/lighttpd/lighttpd_8080.conf とかで作っておいて、以下のような感じで二つ起動します。

# lighttpd -f /etc/lighttpd/lighttpd.conf
# lighttpd -f /etc/lighttpd/lighttpd_8080.conf

ログファイルの名前とかも、別にしておいた方が良いでしょう。

まずは、proxy の定義をせずに、ふたつの lighttpd を立ち上げて、ポート:80 と、ポート:8080 でページが表示されることを確認して、それから 80 の方の定義に proxy の定義を追加して、動作確認、という感じで進めれば良いと思います。

その他の回答(1件)

id:a-kuma3 No.1

a-kuma3回答回数4445ベストアンサー獲得回数18272013/02/22 16:59:52ここでベストアンサー

ポイント50pt

定義ファイルを 80 用と、8080 用の二つ作って、別のプロセスとして起動する必要があると思います。
80 用を標準の /etc/lighttpd/lighttpd.conf に定義する(こっちに proxy.server の定義をする)としたら、
もうひとつ 8080 用の定義を /etc/lighttpd/lighttpd_8080.conf とかで作っておいて、以下のような感じで二つ起動します。

# lighttpd -f /etc/lighttpd/lighttpd.conf
# lighttpd -f /etc/lighttpd/lighttpd_8080.conf

ログファイルの名前とかも、別にしておいた方が良いでしょう。

まずは、proxy の定義をせずに、ふたつの lighttpd を立ち上げて、ポート:80 と、ポート:8080 でページが表示されることを確認して、それから 80 の方の定義に proxy の定義を追加して、動作確認、という感じで進めれば良いと思います。

id:windofjuly No.2

うぃんど回答回数2625ベストアンサー獲得回数11492013/02/22 17:19:39

ポイント50pt

バーチャルホスト機能を利用すると良いでしょう。

80と8080でドキュメントルートを違うものに設定しておけば、
リバースプロクシが機能してるかどうか確認しやすいでしょう。

server.port = 80
proxy.server = ("" => ((
"host" => "127.0.0.1",
"port" => 8080))
)
server.document-root = “パス”

$SERVER["socket"] == ":8080"  {
  server.document-root = “バーチャルホスト用のパス”
}
id:windofjuly

>1つのlighttpdで複数のポートを空けることはできないのは残念です。

回答1への文面と同じですが、書き間違いでしょうか?
バーチャルホスト機能は1つのlighttpd起動で複数のポートをリッスンする方法ですよ。

2013/02/22 19:32:30

コメントはまだありません

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません