Как настроить Lighttpd для обслуживания статического контента по указанному URL-адресу (например, www.my-domain.com/static
) из указанного каталога (например, /var/www/my-domain/static
)?
Остальные запросы должны быть переданы в контейнер tomcat.
На самом деле я передаю все запросы tomcat (см. Фрагмент ниже). Я не могу заставить его работать. Так что если это невозможно - тоже ответ для меня НЕТ. По крайней мере, я перестану пытаться.
$HTTP["host"] =~ "www.my-domain.com" {
proxy.server = ("" => (
"tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
)
)
)
}
Вы должны «отключить» прокси для статических файлов (т.е. включить его только для других файлов):
$HTTP["host"] =~ "www.my-domain.com" {
server.document-root = "/var/www/my-domain"
$HTTP["url"] !~ "^/static" {
proxy.server = ("" => ( "tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
) ) )
}
}
Также попробуйте debug.log-request-handling = "enable"
и проверьте error.log, также см. http://redmine.lighttpd.net/projects/lighttpd/wiki/DebugVariables
Вам просто нужно новое правило для обработки статического содержимого:
$HTTP["host"] =~ "www.my-domain.com" {
$HTTP["url"] =~ "^/static" {
server.document-root = "/var/www/my-domain/static"
}
proxy.server = ("" => (
"tomcat" => (
"host" => "127.0.0.1",
"port" => 8080,
"fix-redirects" => 1
)
)
)
}
Редактировать:
Вы можете попробовать с псевдоним:
alias.url = ( "/static" => "/var/www/my-domain/static/" )