5
Lighttpdをリバースプロキシとして機能させるように設定しようとしています。私は、同じマシン上またはローカルネットワーク内の異なるポート上の異なるサーバーにプロキシされるいくつかのURLを持っていたいと思います。例えばLighttpdリバースプロキシ設定
:
/ /静的 /ソケット /AJAX
Lighttpdのプロキシ/static
のものを除くすべての接続をあろう。私は/static
へのすべての要求をlighttpdのこのインスタンスから直接提供したいと思います。ここで
はmod_proxyのための設定ファイルです:
##
# Serve Static Content via Lighttpd.
#
$HTTP["url"] =~ "^/static/" {
server.document-root = "/path/to/my/static/files"
accesslog.filename = rootdir + "/var/log/static.log"
server.errorlog = rootdir + "/var/log/static.error.log"
}
##
# Proxy to instance of Socket.io.
#
else $HTTP["url"] =~ "^/socket/" {
accesslog.filename = rootdir + "/var/log/socket.log"
server.errorlog = rootdir + "/var/log/socket.error.log"
proxy.server = (
"" => ((
"host" => "127.0.0.1",
"port" => 3000
))
)
}
##
# Proxy to AJAX backend.
#
else $HTTP["url"] =~ "^/ajax/" {
accesslog.filename = rootdir + "/var/log/ajax.log"
server.errorlog = rootdir + "/var/log/ajax.error.log"
proxy.server = (
"" => ((
"host" => "127.0.0.1",
"port" => 4000
))
)
}
##
# Proxy to something that returns my layout.
#
else $HTTP["url"] =~ "^/" {
accesslog.filename = rootdir + "/var/log/root.log"
server.errorlog = rootdir + "/var/log/root.error.log"
proxy.server = (
"" => ((
"host" => "127.0.0.1",
"port" => 5000
))
)
}
私は私の正規表現が間違っていることをかなり確信しています。私はまた、else
の文字列が間違っていると思います。私はそれをどうやって行うのか分かりません。私はこの分野に慣れていないので、適切な方向にいくつかのナッジを感謝します。
ありがとう、
少なくとも私の場合、リバースプロキシを使用する主なポイントは、同じ発信元ポリシーを回避することです。したがって、私のユースケースは、データを投稿することであり、最初の/ ajaxを過ぎて何かを気にすることではありません。例外は/ staticです。正しい静的コンテンツを提供するために、要求全体を完全に保存する必要があります。 – Jonathan
URLで、あなたはドメインを意味しますか?私は、ドメインにかかわらず、URLに基づいてlighttpdを一致させるだけです。私は誤解しましたか? – Jonathan
いいえ、私はちょうどパスの部分(ドメインの後)を意味します。私はこの答えの末尾にスラッシュを指摘しています:) –