1.创建一个新的HTTP服务并定义路由规则,例如:
http:
routers:
my-router:
rule: "Host(`example.com`) && Path(`/api/*`)"
service: "my-service"
2.创建一个新的HTTP服务并定义中间件,例如:
http:
middlewares:
my-middleware:
headers:
accessControlAllowMethods: "GET, PUT, POST, DELETE, OPTIONS"
3.将中间件应用到HTTP服务中.
http:
services:
my-service:
loadBalancer:
servers:
- url: "http://backend"
middlewares:
- name: "my-middleware"
在上述示例中,我们定义了一个名为“my-middleware”的中间件,该中间件将在HTTP服务“my-service”中使用。该中间件将添加一个名为“Access-Control-Allow-Methods”的HTTP标头,该标头将允许常见的HTTP请求方法(GET、PUT、POST、DELETE、OPTIONS)。
这样,我们就实现了基于Traefik v2的控制HTTP请求方法的中间件。通过使用类似的方法,我们可以编写其他类型的中间件,例如身份验证、跨域资源共享等。