人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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をフロントエンド/バックエンドとすることが可能でしょうか?
よろしくお願いいたします。

●質問者: cochoo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●50ポイント ベストアンサー

定義ファイルを 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 の定義を追加して、動作確認、という感じで進めれば良いと思います。


2 ● うぃんど
●50ポイント

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

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

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

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

うぃんどさんのコメント
>1つのlighttpdで複数のポートを空けることはできないのは残念です。 回答1への文面と同じですが、書き間違いでしょうか? バーチャルホスト機能は1つのlighttpd起動で複数のポートをリッスンする方法ですよ。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ