问题描述
我正在关注the guide,并且能够通过HTTP和HTTP访问我的网站,但是重定向对我来说不起作用,关于什么地方可能有问题的任何想法?
# IngresRoute
---
kind: IngressRoute
apiVersion: traefik.containo.us/v1alpha1
metadata:
name: whoami
namespace: default
spec:
entryPoints:
web:
address: :80
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
websecure:
address: :443
routes:
- match: Host(`hello.mydomain.io`)
kind: Rule
services:
- name: whoami
port: 80
tls: {}
解决方法
我使用Docker compose,因此可能不适合您。但是建议将scheme redirect middleware添加到动态配置文件中。
http: middlewares: https_redirect: redirectScheme: scheme: https permanent: true
或者如果您无权访问Traefik配置,只需将中间件添加到您的服务中。
我更喜欢动态配置,因为您可以根据需要使用[Required]
[DataType(DataType.DateTime)]
public DateTime? Birthday { get; set; }
在任何服务上注册它。
尽管使用此方法,但每个入口点确实需要一个路由器。并在仅 http路由器上注册中间件。
我敢肯定还有其他更好的方法。但是,如果您需要一些应用程序自动重定向,而有些则不需要,这是我到目前为止找到的最佳解决方案。