之前的注册脚本里把中间件写成了 security-headers@file(还出现过一个带逗号的 security-headers@file,)。而在你的 routes/global.yml 里真正定义的名字是 sec-headers@file。
目的就是对齐中间件名称,避免 Traefik 在装配 router 时引用了一个不存在的中间件,导致该条 router 报告 warning / 被降级,进而被其它“更泛”的路由(比如系统自带面板 8000/5666)抢走域名流量。
This commit is contained in:
@@ -43,7 +43,7 @@ if [ "$SERVICE_PROTOCOL" = "http" ]; then
|
|||||||
# 抢占路由:给当前 Host 的 router 设置更高优先级
|
# 抢占路由:给当前 Host 的 router 设置更高优先级
|
||||||
TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.priority=10000"
|
TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.priority=10000"
|
||||||
# 可选中间件(注意:值里有逗号也安全)
|
# 可选中间件(注意:值里有逗号也安全)
|
||||||
TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.middlewares=gzip-all@file,security-headers@file"
|
TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.middlewares=gzip-all@file,sec-headers@file"
|
||||||
# 如需 ACME 证书解析器可再加一行(取消注释)
|
# 如需 ACME 证书解析器可再加一行(取消注释)
|
||||||
# TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
# TAGS="$TAGS${NL}traefik.http.routers.${SERVICE_NAME}.tls.certresolver=${TRAEFIK_CERT_RESOLVER}"
|
||||||
elif [ "$SERVICE_PROTOCOL" = "tcp" ]; then
|
elif [ "$SERVICE_PROTOCOL" = "tcp" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user