前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s traefik配置custom headers: AccessControlAllowHeaders CORS问题

k8s traefik配置custom headers: AccessControlAllowHeaders CORS问题

作者头像
用户3013098
发布2022-05-31 20:53:48
1.5K0
发布2022-05-31 20:53:48
举报
文章被收录于专栏:devops运维先行者

记一次k8s环境上的traefik CORS故障处理过程:

Step-1

前端抛出故障,指明运维配置有问题,如图:

意思是:前端新增一个Headers:x-request-id,即Access-Control-Allow-Headers,但是,Access-Control-Allow-Headers只有Content-type,x-token两个headers,造成后端CORS跨域问题。

Step-2

运维部门接收到这个问题(锅),查询traefik官方配置文档:

v1.7 latest版本增加headers配置:

链接:https://docs.traefik.io/configuration/backends/kubernetes/

v2 beta版本增加headers配置:

链接:https://docs.traefik.io/v2.0/middlewares/headers/

但是v1.7跟v2.0是不兼容的,所以v1.7正式版得在ingress上增加annotations。

Step-3

处理问题,配置yaml:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: server-name-ing
  namespace: ENV
  annotations:
    kubernetes.io/ingress.class: traefik
    ingress.kubernetes.io/custom-response-headers: Access-Control-Allow-Headers:content-type,x-token,x-request-id

Step-4

更新yaml文件,解决问题:

尾语:traefik v1.7好像不支持统一入口修改,在toml文件没找到配置项······,v2.0应该支持toml文件统一修改。这种处理方法的不方便之处就在万一前端开发又需要增加headers,运维又得去修改yaml配置文件,这种情况需要升级traefik版本才能彻底解决。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 devops运维先行者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档