我想让我的 Unifi 控制器可以通过网络访问,但是,无论我做什么(即使 Traefik 成功加载了配置),它总是会给我“坏网关”。
日志告诉我无法建立上行链路(我想这是因为我必须代理https://0.0.0.0:8443而不是通常的http://)
控制器安装在我的 Web 服务器上,而不是 Docker 中,并且所有端口都允许使用UFW进行内部网络。
我创建了一个带有配置的单独文件,如下所示:
[backends]
[backends.unifi]
[backends.unifi.servers]
[backends.unifi.servers.server0]
url = "https://127.0.0.1:8443/"
weight = 1
[frontends]
[frontends.unifi]
entryPoints = ["https", "http"]
backend = "unifi"
passHostHeader = true
[frontends.unifi.routes]
[frontends.unifi.routes.route0]
rule = "Host:controller.website.example"
[frontends.unifi.headers]
SSLRedirect = true
STSSeconds = 315360000
browserXSSFilter = true
contentTypeNosniff = true
forceSTSHeader = true
SSLHost = "website.example"
STSIncludeSubdomains = true
STSPreload = true
frameDeny = true
它存储在 traefik “rules” 文件夹内目录中的单独文件中,该文件由traefik.toml中的此配置加载
[file]
directory = "/etc/traefik/rules/"
watch = true
还有一些额外的信息:
- 不,我不能使用http://0.0.0.0:8443,Unifi Controller 会告诉你端口与协议不匹配
- 他们用于重定向的 8880 端口也无法正常工作,出现 400 错误
- 我真的不想使用 docker 来运行控制器(我花了 4 个小时来配置网关(包括一些不错的重启/配置循环)