You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

lighttpd反向代理如何去除URL路径前缀跳转至指定IP及端口

解决方案

首先确认server.modules配置段中已加载mod_proxy模块,若使用兼容旧版本的重写方案还需加载mod_rewrite模块。

方案1:兼容所有lighttpd版本(基于重写实现)

针对domain.com/page转发到192.168.2.16:22348的场景,配置修改为:

$HTTP["url"] =~ "^/page" {
  # 剥离请求路径中的/page前缀
  url.rewrite-once = ( "^/page(/.*)?$" => "$1" )
  proxy.server = ( "" => ( ( "host" =>  "192.168.2.16", "port" => 22348 ) ) )
}

方案2:lighttpd 1.4.46及以上版本(原生配置实现)

无需依赖重写模块,使用官方自带的前缀剥离配置项即可:

$HTTP["url"] =~ "^/page" {
  proxy.server = ( "" => ( ( "host" =>  "192.168.2.16", "port" => 22348 ) ) )
  proxy.strip-request-uri-prefix = "/page"
}

同类场景适配

你提到的domain.com/google跳转到google.com的需求,用相同逻辑配置即可,示例如下(若访问谷歌的HTTPS服务需额外开启代理SSL配置):

$HTTP["url"] =~ "^/google" {
  url.rewrite-once = ( "^/google(/.*)?$" => "$1" )
  proxy.server = ( "" => ( ( "host" => "google.com", "port" => 443 ) ) )
  proxy.ssl.enable = "enable"
}

注意事项

如果后端服务返回的页面中存在相对路径的静态资源引用,可能会出现资源加载失败的情况,这是因为页面访问路径在/page前缀下,相对路径会基于此前缀发起请求,如遇该问题可额外添加proxy.header配置段做响应内容的路径替换即可。

内容的提问来源于stack exchange,提问作者Adrian0811

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:30:00