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