ingress代理前后端服务跨域

一、前言

ingress对于前后端服务的代理有不同的方式可以实现,前后端服务可以通过不同的域名实现流量的分流策略,不过这需要解决前后端域名不同产生的跨域问题,也可以通过不同的path实现流量的分流策略,该方式不会产生跨域的问题

二、配置

前后端使用不同域名

开启跨域需要先更改ingress配置

vi daemonset.yaml

bash 复制代码
apiVersion: v1
data:
  allow-snippet-annotations: "true"   #将该配置项改为true
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
    app.kubernetes.io/version: 1.10.0
  name: ingress-nginx-controller
  namespace: ingress-nginx

使配置生效

kubectl apply -f daemonset.yaml

配置后端代理并允许跨域

bash 复制代码
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations: 
    nginx.ingress.kubernetes.io/enable-cors: "true"      #启用cors
    nginx.ingress.kubernetes.io/cors-allow-origin: "*"     #指定 CORS 允许的域, "*" ,表示允许所有,多个域可以用,分隔
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS" #指定 CORS 允许的方法,默认值:GET, PUT, POST, DELETE, PATCH, OPTIONS
    nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization"  #指定 CORS 允许的头,默认值:DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"  #指定是否可以在 CORS 操作期间传递凭据
spec:
  rules:
  - host: backend-domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
相关推荐
Marcel1116 小时前
WSL2使用Kind创建K8S集群时出现IPV6网络创建失败
云原生·kubernetes·kind
格桑阿sir13 小时前
Kubernetes控制平面组件:etcd(二)
kubernetes·etcd·raft·mvcc·boltdb·watch机制·treeindex
喝醉酒的小白14 小时前
K8s:kubernetes.io~csi 目录介绍
kubernetes
a_j5815 小时前
Kubernetes知识点总结(十)
云原生·容器·kubernetes
大新新大浩浩18 小时前
k8s环境中的rook-ceph的osd报Permission denied无法正常运行问题的处理方式
java·ceph·kubernetes
ghostwritten21 小时前
k8s集群如何赋权普通用户仅管理指定命名空间资源
云原生·容器·kubernetes
liulanba2 天前
八股取士--docker&k8s
docker·容器·kubernetes
桂月二二2 天前
基于eBPF的云原生网络加速引擎:突破Kubernetes Service转发性能瓶颈
网络·云原生·kubernetes
格桑阿sir2 天前
Kubernetes控制平面组件:Kubernetes如何使用etcd
kubernetes·k8s·etcd·高可用集群·故障分析·etcd集群调优
格桑阿sir2 天前
Kubernetes控制平面组件:etcd常用配置参数
kubernetes·etcd·配置参数·etcd容量·磁盘耗尽·碎片整理·灾备与安全