Traefik 2.x IngressRoute 不适用于给定的 Web 应用程序上下文根
Traefik 2.x IngressRoute not working with given web application context root
我们正在使用 TraefikEE 2.x 入口控制器,我的基于 SpringBoot 的 Web 应用程序在端口 8080
上运行,上下文根 /myapp
。我在下面定义了 IngressRout,但是在转到 http://example.com/myapp
或 http://example.com/myapp/.
时出现 404 错误 如果我从应用程序配置中删除 /myapp
上下文根,则相同的 IngressRoute 定义有效,以便应用程序页面加载 /
作为上下文路径。
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: myapp
spec:
tls: {}
entryPoints:
- websecure
routes:
- match: PathPrefix(`/myapp`)
kind: Rule
services:
- name: myapp-service
namespace: default
port: 8080
发现我在不同的命名空间中有多个 application/service 以上的 IngressRoutes,一个在默认命名空间中,另一个在特定于应用程序的命名空间中。从默认命名空间中删除条目并将命名空间范围添加到 YAML,以便我们在应用更改时不必使用 -n
选项。 IngressRoute 现在工作正常。
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: myapp
namespace: myapp
spec:
tls: {}
entryPoints:
- websecure
routes:
- match: PathPrefix(`/myapp`)
kind: Rule
services:
- name: myapp-service
namespace: myapp
port: 8080
我们正在使用 TraefikEE 2.x 入口控制器,我的基于 SpringBoot 的 Web 应用程序在端口 8080
上运行,上下文根 /myapp
。我在下面定义了 IngressRout,但是在转到 http://example.com/myapp
或 http://example.com/myapp/.
时出现 404 错误 如果我从应用程序配置中删除 /myapp
上下文根,则相同的 IngressRoute 定义有效,以便应用程序页面加载 /
作为上下文路径。
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: myapp
spec:
tls: {}
entryPoints:
- websecure
routes:
- match: PathPrefix(`/myapp`)
kind: Rule
services:
- name: myapp-service
namespace: default
port: 8080
发现我在不同的命名空间中有多个 application/service 以上的 IngressRoutes,一个在默认命名空间中,另一个在特定于应用程序的命名空间中。从默认命名空间中删除条目并将命名空间范围添加到 YAML,以便我们在应用更改时不必使用 -n
选项。 IngressRoute 现在工作正常。
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: myapp
namespace: myapp
spec:
tls: {}
entryPoints:
- websecure
routes:
- match: PathPrefix(`/myapp`)
kind: Rule
services:
- name: myapp-service
namespace: myapp
port: 8080