map*_*eat 4 kubernetes traefik traefik-ingress
我想在一个 IngressRoute 中设置 http 到 https 重定向,但是当我尝试访问 http 端点 traefik 时使用下面的配置返回 404 未找到错误。如果我删除 tls 部分重定向有效,但 tls 无效。
我可以同时工作吗?
traefik 版本 2.1.0-rc2
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: console-web
namespace: dev
labels:
app: console-web
spec:
entryPoints:
- web
- websecure
routes:
- match: Host(`console.example.com`)
kind: Rule
services:
- name: console-web
port: 8080
middlewares:
- name: https-redirect
tls:
secretName: example-com-tls
Run Code Online (Sandbox Code Playgroud)
这是一个老问题,但这可能会对某人有所帮助。这可能不会直接起作用,因为我还没有测试过它。对于 kubernetes,它应该按以下方式工作,首先定义中间件的工作方式
未经测试的代码
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: test-redirectscheme
spec:
redirectScheme:
scheme: https
Run Code Online (Sandbox Code Playgroud)
然后定义IngressRoute
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress1
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`somehost`)
kind: Rule
services:
- name: console-web
port: 8080
tls:
secretName: example-com-tls
Run Code Online (Sandbox Code Playgroud)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: ingress2
namespace: default
spec:
entryPoints:
- web
routes:
- match: Host(`somehost`)
middlewares:
- name: test-redirectscheme
kind: Rule
services:
- name: console-web
port: 80
Run Code Online (Sandbox Code Playgroud)
需要两个入口,因为一个入口将流量重定向到另一个入口。我还想,如果您没有两个端口,您可以重复使用前一个端口,因为无论如何它都会被重定向到 https。如果不行请告诉我。
在为 docker 解决 http 端点的 404 问题花了几个小时后,我发现了这个/sf/answers/4346538591/
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |