Próbuję skonfigurować Lighttpd do działania jako odwrotnego proxy. Chcę mieć kilka adresów URL, które są kierowane do różnych serwerów na różnych portach, na tym samym komputerze lub w sieci lokalnej.Ustawienia proxy odwrotnego Lighttpd
Na przykład:
/ /static /gniazdo /ajax
Lighttpd by proxy wszystkie połączenia z wyjątkiem tych, do /static
. Chcę służyć wszystkim żądaniom do /static
bezpośrednio z tego wystąpienia lighttpd.
Oto plik konfiguracyjny dla 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
))
)
}
Jestem pewien, że moi wyrażenia regularne są błędne. Uważam też, że ciąg znaków else
jest nieprawidłowy. Po prostu nie wiem, jak to zrobić. Jestem nowy w tym obszarze, więc byłbym wdzięczny za pewne trąby w dobrym kierunku.
Dzięki,
Głównym celem używania odwrotnego proxy, przynajmniej w moim przypadku, jest obejście tej samej zasady pochodzenia. Dlatego moim przypadkiem użycia byłoby publikowanie danych i nie naprawianie troski o cokolwiek poza początkiem/ajaxem. Wyjątkiem jest/static. Muszę zachować żądanie w całości, aby wyświetlać prawidłowe treści statyczne. – Jonathan
Według adresu URL, masz na myśli domenę? Chcę tylko dopasować lighttpd na podstawie adresu URL, niezależnie od domeny. Czy źle zrozumiałem? – Jonathan
Nie, mam na myśli tylko część ścieżki (po domenie). Wskażę tylko końcowe ukośne odbicie w tej odpowiedzi :) –