使用 Lighttpd 进行 Wordpress 反向代理

使用 Lighttpd 进行 Wordpress 反向代理

我正在 AWS 上部署一个应用程序和一个 Wordpress 安装。我在 EC2 上的 Apache 下设置了 Wordpress,在 Lighttpd 下设置了我的应用程序,我想通过应用程序节点反向代理 Wordpress。这很有效,我只需在 Lighttpd 中设置反向代理,如下所示:

$HTTP["url"] =~ "^/blog" {
        proxy.server = (
                "/blog" => ( "blog" => ( "host" => "123.456.789.123", "port" => 80 ))
        )
}

url.rewrite-once = (
        "^(.*?)$" => "/index.php/$1"
)

但是,问题出在重写上。当我启用重写时,它会在反向代理之前捕获它,并路由到index.php应用程序服务器上。如果它要发送到博客,我需要它不重写。我尝试了各种正则表达式匹配和其他配置,但我无法让它支持重写和代理同时。 如何才能做到这一点?

答案1

我想说让你的重写模式忽略正在等待代理的路径,但保持配置不变:

url.rewrite-once = (
    "^((?!/blog).*)$" => "/index.php/$1"
)

答案2

"blog"我通过在重写之前放置另一个重写条目来匹配来解决了这个问题index.php

$HTTP["url"] =~ "^/blog" {
        proxy.server = (
                "/blog" => ( "blog" => ( "host" => "123.456.789.012", "port" => 80 ))
        )
}

url.rewrite-once = (
        "^/blog(.*)" => "$0",
        "^(.*?)$" => "/index.php/$1",
)

由于它使用的是rewrite-once,它将在第一个匹配处停止并让它转到代理服务器。

相关内容