Ingress配置跨域(服务包含websocket)

这篇具有很好参考价值的文章主要介绍了Ingress配置跨域(服务包含websocket)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nginx ingress默认是支持websocket,不需要添加配置。如果websocket的端口与当前服务不一致,则需要在rules中配置对应的路径。具体本文不体现。

跨域主要配置有:
nginx.ingress.kubernetes.io/enable-cors 是否允许跨域
nginx.ingress.kubernetes.io/cors-allow-headers 允许的标头
nginx.ingress.kubernetes.io/cors-allow-methods 允许的请求方式
nginx.ingress.kubernetes.io/cors-allow-origin cors可接受的origin * 代表所有
nginx.ingress.kubernetes.io/cors-expose-headers 控制向响应公开哪些标头
nginx.ingress.kubernetes.io/cors-allow-credentials 控制在cors操作期间是否可以传递凭据 默认true
nginx.ingress.kubernetes.io/cors-max-age 请求的缓存时间 默认1728000文章来源地址https://www.toymoban.com/news/detail-743673.html

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: MyServicesApp
  labels:
    app: MyServicesApp
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /MyServicesApp/$1
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-credentials: 'false'
    nginx.ingress.kubernetes.io/cors-allow-headers: X-CUSTOM-CODE,Upgrade,Connect,Sec-WebSocket-Extensions,Sec-WebSocket-Key,Sec-WebSocket-Version  # 自定义的标头一定要加,*不包含自定义和WebSocket标头部分 ,(*,X-CUSTOM-CODE 这种方式测试未通过,不确定能不能行)
    nginx.ingress.kubernetes.io/cors-allow-methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
    nginx.ingress.kubernetes.io/cors-allow-origin: http://*.xxx.com  # 注意(s)与*不要通用,例如:http(s)://*.xxx.com 不支持 
    nginx.ingress.kubernetes.io/cors-expose-headers: '*'  # 默认为空
    nginx.ingress.kubernetes.io/cors-max-age: '600'
spec:
  rules:
    - host: xxx.xxx.com
      http:
        paths:
          - path: /MyServicesApp/(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: MyServicesApp-svc
                port:
                  number: 8080

到了这里,关于Ingress配置跨域(服务包含websocket)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用

    前面讲解了使用Helm部署mysql集群,这里来看看使用Ingress搭建负载均衡功能 功能类似 Nginx ,可以根据域名、路径把请求转发到不同的 Service , Ingress 为外部访问集群提供了一个 统一 入口, 避免 了 对外暴露集群端口 ,可以配置 https,http访问集群应用,接下来看看如何通过腾讯云来

    2024年01月22日
    浏览(59)
  • Kubernetes (七) service(微服务)及Ingress-nginx

          官网地址:    服务(Service) | Kubernetes https://v1-24.docs.kubernetes.io/zh-cn/docs/concepts/services-networking/service/ 一 . 网络通信原理                                                                                                              二. service作用及类型

    2024年02月02日
    浏览(40)
  • 深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置

    Kubernetes Ingress 是 Kubernetes 集群中外部流量管理的重要组件。它为用户提供了一种直观而强大的方式,通过定义规则和配置,来控制外部流量的路由和访问。 在 Kubernetes 中,Ingress 是一种 API 资源,用于定义外部流量如何进入集群内部。它允许我们基于主机名、路径和其他条件

    2024年01月19日
    浏览(51)
  • Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)

    之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案,并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇 Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客 Kubernetes - Ingress HTTP 负载搭建部署解决方案(新版本v1.21+)-CSDN博客 废话

    2024年02月06日
    浏览(48)
  • Kubernetes-Ingress、Ingress Controller、Ingress Class

    1.Ingress 是对K8S集群中服务的外部访问进行管理的 API 对象。Ingress 公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。 2.Ingress Controller 通常负责通过负载均衡器来实现 Ingress。 3.必须拥有一个 Ingress Controller 才能满足 Ing

    2024年02月11日
    浏览(48)
  • 【kubernetes系列】Kubernetes之Ingress

    从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前常见的只有三种:LoadBlancer Service、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会面临以下几个问题: Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本(Pod)挂掉时自动启动一个

    2024年02月16日
    浏览(49)
  • kubernetes之Ingress

            Ingress是k8s中实现7层负载的实现方式,是公开集群外部流量到集群内服务的HTTP和HTTPS路由         通常Ingress实现由Ingress 控制器和Ingress组成,Ingress控制器负责具体实现反向代理及负载均衡,Ingress负责定义匹配规则和路由         Ingress-nginx控制器部署参见:Install

    2024年02月14日
    浏览(42)
  • Kubernetes部署ingress

    RHEL 9.3 Docker Community 24.0.7 minikube v1.32.0 通过minikube启用 ingress : 注:接下来在不能访问 registry.k8s.io 的环境里,用该环境作为“标准环境”,以便做对比。 通过minikube启用 ingress 会报错: ingress使用的是 ingress-nginx namespace: 查看 ingress-nginx namespace: 查看deployment: 查看job: 所

    2024年01月20日
    浏览(42)
  • Kubernetes系列-Ingress

    Kubernetes 对外暴露服务(Service)主要有两种方式: NodePort , LoadBalance ,此外  externalIps  也可以使各类 service 对外提供服务,但是当集群服务很多的时候,NodePort方式最大的缺点是会占用很多集群机器的端口;LB方式最大的缺点则是每个Service一个LB又有点浪费和麻烦,并且需

    2024年02月14日
    浏览(42)
  • kubernetes Ingress资源管理

    k8s 对外服务之 Ingress //Ingress 简介 service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制;对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。 在Kubernetes中,Pod的IP地址和service的

    2024年02月16日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包