5
我想配置Lighttpd作爲反向代理。我想要有幾個URL代理不同端口上的不同服務器,無論是在同一臺機器上還是在本地網絡中。Lighttpd反向代理設置
例如:
/ /靜態 /插座 /AJAX
Lighttpd的代理將所有除那些/static
的連接。我想直接從lighttpd的這個實例向/static
提供所有請求。
這裏是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的內容。這是一個例外/靜態。我需要完整保留請求才能提供正確的靜態內容。 – Jonathan 2012-02-19 22:57:28
通過網址,你的意思是域名?我只想讓lighttpd基於url進行匹配,而不管域名是什麼。我誤解了嗎? – Jonathan 2012-02-19 23:02:54
不,我只是指路徑部分(在域之後)。我只是指出了這個答案的尾部斜線:) – 2012-02-20 00:49:52