游乐游手机版
首页/科技数码/文章详情

NGINX Ingress控制器v5.4.0 CORS策略:VirtualServer与Ingress模式

时间:2026-07-28 12:03
从NGINXIngress控制器v5 4 0起,CORS行为可通过Policy资源统一定义,再复用至VirtualServer和Ingress。创建含spec cors的Policy后,通过spec policies或nginx org policies注释关联,确保配置一致、可跨服务复用,且CORS逻辑与路由隔离,便于审核维护。

自NGINX Ingress控制器v5.4.0起,CORS策略可通过Policy资源统一配置,并复用于VirtualServer和Ingress资源。具体而言,先创建一个包含spec.cors字段的Policy,再通过spec.policies字段或nginx.org/policies注解将其关联到相应的流量路由资源上。

从NGINX Ingress控制器(NIC)v5.4.0开始,您可以在Policy资源中一次性定义CORS跨域规则,并应用到VirtualServer和Ingress两种流量路径上。

本文将重点介绍以下内容:

  • NGINX Ingress控制器中CORS策略的工作原理与核心机制。
  • 如何在VirtualServer和Ingress资源上配置并应用CORS策略。

为什么要使用CORS策略?

许多团队最初会在每个资源上单独配置CORS,但很快就会发现配置不一致、维护困难。使用专门的Policy资源来管理CORS,具有以下明显优势:

  • 允许的源、方法和头部信息有了单一的真实来源,避免了不同配置间的不一致。
  • 可在不同服务和命名空间之间重复使用,减少重复劳动。
  • 审核更加清晰,CORS行为与路由逻辑完全隔离,修改时不会影响其他部分。

NGINX Ingress控制器中CORS策略的工作原理

整个配置流程分为以下三步:

  1. 创建一个Policy资源,并在其中配置spec.cors字段。
  2. 在定义流量路由时将其关联:
    • 对于VirtualServer,通过spec.policies字段(也可在路由/分流策略级别覆盖)。
    • 对于Ingress,通过nginx.org/policies注解。
  3. NGINX Ingress控制器会自动生成对应的NGINX CORS配置,为预检请求和实际跨域请求返回正确的响应头部。

CORS策略示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

apiVersion: k8s.nginx.org/v1

kind: Policy

metadata:

name: cors-policy

spec:

cors:

allowOrigin:

- https://app.example.com

allowMethods:

- GET

- POST

- PUT

- OPTIONS

allowHeaders:

- Content-Type

- Authorization

- X-Requested-With

exposeHeaders:

- X-Total-Count

- X-Page-Size

allowCredentials: true

maxAge: 86400

引用CORS策略的VirtualServer示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

apiVersion: k8s.nginx.org/v1

kind: VirtualServer

metadata:

name: webapp

spec:

host: webapp.example.com

policies:

- name: cors-policy

upstreams:

- name: webapp

service: webapp-svc

port: 80

routes:

- path: /test

action:

pass: webapp

CORS策略在Ingress下的引用示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

name: cafe-ingress

annotations:

nginx.org/policies: "cors-policy"

spec:

ingressClassName: nginx

rules:

- host: cafe.example.com

https:

paths:

- path: /tea

pathType: Prefix

backend:

service:

name: tea-svc

port:

number: 80

需要记住的重要行为:

  • CORS策略可以同时应用于VirtualServer和Ingress两种资源。
  • 在VirtualServer中,路由/分流策略级别的policy会覆盖规范级别的同类型policy。
  • 如果启用了allowCredentials: true,则allowOrigin必须明确指定具体的源,不能使用通配符*。

生产环境检查:预防大多数CORS配置问题

在生产环境上线前,务必验证以下关键点:

  • 对于未允许的源,不应返回Access-Control-Allow-Origin响应头。
  • 当allowCredentials: true时,只使用显式指定的来源,不要使用通配符*。
来源:https://www.php.cn/faq/2278576.html?uid=1242473
上一篇王仲远抢占智能时代先机培育智能经济新形态 下一篇河南首台5T超高场磁共振正式启用
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
2026中国航空产业大会10月底南昌启幕:首次与航博会同期举办,聚焦低空经济新路径
科技数码 · 2026-08-31

2026中国航空产业大会10月底南昌启幕:首次与航博会同期举办,聚焦低空经济新路径

2026中国航空产业大会与南昌航空产业博览会将于10月31日至11月4日在南昌国际博览城首次同期举办。大会聚焦低空经济,设置主旨报告、行业专家报告及低空产业洽谈会等主题活动,旨在探讨航空产业新路径,推动低空物流、城市巡检等新业态集聚,打造中部领先、全国知名的航空产业交流高地。

联想来酷Air 16酷睿5 315版开售:国补后3739元,16英寸轻薄本选购指南
科技数码 · 2026-08-28

联想来酷Air 16酷睿5 315版开售:国补后3739元,16英寸轻薄本选购指南

联想来酷Air 16酷睿5 315版于8月27日正式开售,搭载6核处理器与12GB内存,配备16英寸16:10屏幕。叠加国家补贴后预估到手价仅3739 15元,主打长续航与静音办公。本文详细解析其硬件配置、接口布局及购买建议,助您快速决策。

牛来AirPods保护套海外走红:萌趣硅胶设计引发关注
科技数码 · 2026-08-28

牛来AirPods保护套海外走红:萌趣硅胶设计引发关注

一款名为“牛来”的AirPods硅胶保护套在日本市场引发关注,售价约1726日元。其独特的搞怪萌趣造型、兼容多代机型的硅胶材质以及专属挂饰设计,使其在社交平台上迅速走红,成为近期备受瞩目的国产原创数码周边产品。

行李箱选购全攻略:材质、轮子与尺寸避坑指南
科技数码 · 2026-08-28

行李箱选购全攻略:材质、轮子与尺寸避坑指南

选购行李箱时,材质、轮子和尺寸是核心决策点。PP材质抗冲击且轻便,适合频繁托运;万向轮决定推行顺滑度;尺寸需匹配航空限重。本文拆解关键参数,结合具体产品案例,助您选出耐用且实用的行李箱。

《湮灭之潮》成都试玩会:技嘉RTX 5080风魔显卡实测体验
科技数码 · 2026-08-28

《湮灭之潮》成都试玩会:技嘉RTX 5080风魔显卡实测体验

2026年8月《湮灭之潮》成都试玩会圆满举行,千名玩家现场体验西方奇幻大作。文章重点解析技嘉RTX 5080风魔显卡在虚幻5引擎下的表现,涵盖Blackwell架构、DLSS 4 5技术及16GB GDDR7显存对高画质流畅运行的支撑作用。