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

如何配置Traefik转发请求至指定主机并覆盖IP?

解决Traefik转发特定请求至旧Apache服务器的配置问题

我来帮你搞定这个过渡阶段的Traefik配置问题!从你的描述来看,你正处在从旧Apache服务器迁移的过程中,需要让Traefik把attie.co.uk(包括带www前缀的请求)转发到原Apache服务器,不过现有配置里有个关键问题需要修正。

现有配置的核心问题

你当前的backend配置用了url = "http://attie.co.uk:80",但外部DNS已经把attie.co.uk指向了Traefik所在的服务器,这会导致Traefik尝试请求自身,形成循环请求,根本无法转发到旧Apache服务器。

修正后的完整配置

你需要把backend的目标地址改成旧Apache服务器的内网IP地址或者内部可访问的主机名,比如旧服务器内网IP是192.168.1.50,配置应该改成这样:

[frontends.attie]
backend = "attie"
[frontends.attie.routes._]
rule = "HostRegexp: {host:^(www\\.)?attie\\.co\\.uk}"

[backends.attie.servers._]
url = "http://192.168.1.50:80"  # 这里换成旧Apache服务器的实际内网地址

关键配置说明

  • Frontend规则:你的HostRegexp规则是没问题的,它能匹配attie.co.uk和www.attie.co.uk这两种域名的请求。
  • Backend目标地址:必须使用旧服务器的内网IP/内部主机名,避免DNS解析到Traefik服务器导致循环。同时要确保Traefik服务器能访问到这个内网地址,旧服务器的防火墙要允许Traefik所在机器的80端口请求。

验证方法

配置更新后,重启Traefik服务,然后可以用curl命令测试转发是否正常:

curl -H "Host: attie.co.uk" http://<你的Traefik服务器IP>

如果返回的是旧Apache服务器上的站点内容,就说明配置生效了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:05:21