Lighttpd反向代理HTTPS到HTTP上的另一台服务器

时间:2018-08-08 12:36:48

标签: https reverse-proxy lighttpd mod-proxy

我有一个运行在HTTPS上的Lighttpd服务器,并且我希望服务器上的一个子目录充当运行在HTTP上的单独服务器的反向代理。我尝试按照以下指南进行代理和url重写,但是与SSL设置方式有关的问题正在干扰。

$SERVER["socket"] == ":81" {
    url.rewrite-once = ( "^/directory/(.*)$" => "/index.html" )
    proxy.server  = ( "" => ( "" => ( "host" => "192.0.0.1", "port" => 123 )))
}

$HTTP["scheme"] == "http" {
     $HTTP["host"] =~ ".*" {
        url.redirect = (".*" => "https://%0$0")
     }
}

$SERVER["socket"] == ":443" {
        ssl.engine = "enable"
        ssl.ca-file = "/etc/lighttpd/fullchain.pem"
        ssl.pemfile = "/etc/lighttpd/server.pem"
        $HTTP["url"] =~ "^/directory/" {
               proxy.server = ( "" => ( "" => ( "host" => "127.0.0.1", "port" => 81)))
        }
}

我的意图是转到/ directory /会将您重定向到192.0.0.1:123/index.html。我遵循this guide,其中提到先进行重定向到端口81,然后将端口81重定向到第二台服务器。

这似乎不起作用,只是卡在了重定向循环中,总是返回301到https站点。

如果我不执行:81重定向,则可以使底部的proxy.server重定向到正确的位置,但是它会保留/ directory /结尾,而该目录无法到达我需要的位置。

谢谢。

1 个答案:

答案 0 :(得分:1)

从lighttpd 1.4.46开始,mod_proxy可以重写url前缀。

var classes = document.querySelectorAll('trick__btn js-cta" data-door="1');
var Rate = classes[0];
Rate.click();
相关问题