lighttpd,只将IP重定向到https和特定端口?

时间:2013-08-27 23:02:30

标签: lighttpd

我的lighttpd.conf文件目前......

server.port = 8000
...
$SERVER["socket"] == ":8080" {
    $HTTP["host"] =~ "([^:/]+)" {
        url.redirect = ( "^/(.*)" => "https://%1:8000/$1" )
    }
}

server.modules = (
   "mod_accesslog",
   "mod_fastcgi",
   "mod_rewrite",
   "mod_auth",
   "mod_redirect"
)
...

现在我可以将所有流量转移到端口8080以重定向到端口8000(其中一切都是实际位置)。我希望能够输入IP本身(在此处使用IP)并将其重定向到https和端口8000(例如101.102.103.104 => https://101.102.103.104:8000)。现在我可以得到101.102.103.104:8080 => https://101.102.103.104:8000。我想只使用IP。


解决。

默认端口为80.因此请使用以下命令:

$SERVER["socket"] == ":80" {
    $HTTP["host"] =~ "(.*)" {
        url.redirect = ( "^/(.*)" => "https://%1:8000/$1" )
    }
}

这会将端口80(10.10.10.10默认为端口80)上的所有内容重定向到使用https的端口8000。

1 个答案:

答案 0 :(得分:0)

那么,这是否解决了?

指定101.102.103.104您的浏览器默认为端口80。因此,如果lighttpd正在侦听端口80,您可以使用您描述的相同技术捕获/重定向。

在配置documentation中,它表示守护程序将绑定到$SERVER["socket"] ==条件中指定的端口。 e.g。

$SERVER["socket"] == ":80" {
    $HTTP["host"] =~ "([^:/]+)" {
        url.redirect = ( "^/(.*)" => "https://%1:8000/$1" )
    }
}

上述配置应保证lighttpd已绑定到端口80,并且还会重定向到端口8000