Traefik 2.2 http到https重定向

问题描述

我正在关注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路由器上注册中间件。

我敢肯定还有其他更好的方法。但是,如果您需要一些应用程序自动重定向,而有些则不需要,这是我到目前为止找到的最佳解决方案。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...