如何使用lighttpd从https代理到http

3

我有一个内部网站(192.168.2.1),只能通过 http 访问。

在另一台服务器上,我运行了一个使用 lighttpd 的公共 Web 服务器。我可以通过以下方式使这个内部网站对外可访问:

$HTTP["host"] == "internal.example.com" {
    ...
    proxy.server  = ( "" =>
        ( "internal" =>
            (
                "host" => "192.168.2.1",
                "port" => 8000
            )
        )
}

这个方法是可行的,但我希望在外部网络中使用https。所以我的问题是,如何将访问从https代理到http

我尝试了类似这样的方式:

$SERVER["socket"] == ":443" {
   $HTTP["host"] == "internal.example.com" {
        ...
        proxy.server  = ( "" =>
            ( "internal" =>
                (
                    "host" => "http://192.168.2.1",
                    "port" => 8000
                )
            )
    }
}

但是似乎这个方法并不可行。如果有帮助,将不胜感激。

更新:我认为反向代理不支持https。也许HAProxy是解决方案。


今天这个是事实吗?我的情况似乎完全符合。我在使用nginx作为反向代理时遇到了问题,考虑尝试使用lighttpd作为替代方案,因为我找不到任何解决方法的指南。我的线程 - user2669989
1个回答

2

lighttpd可以在https上监听客户端并通过http代理到后台。

在您的配置示例中,外部客户端是否向https://internal.example.com/发送请求? 外部URL的主机名是需要放入$HTTP [“host”]条件以启用代理的。

$SERVER["socket"] == ":443" {
    $HTTP["host"] == "external.example.com" {
        ...
        proxy.server  = ( "" =>
            ( "internal" =>
                (
                    "host" => "192.168.2.1",
                    "port" => 8000
                )
            )
        )
    }
}

我看到三个开括号但只有两个闭括号。 - Karel Vlk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接