Lighttpd 作为 tomcat 代理提供静态内容服务

Lighttpd 作为 tomcat 代理提供静态内容服务

如何配置 Lighttpd 以www.my-domain.com/static从指定目录(例如)在指定 URL 地址(例如/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
                    )
            )
    )
}

答案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

答案2

您只需要一条新规则来处理静态内容:

$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/" )

相关内容