当前位置: 首页 > 知识库问答 >
问题:

如何在不使用Nginx的情况下启用带有入口的CORS?

匡玉堂
2023-03-14

这是我的归属感。Yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: artsdata-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "artsdasta-static-ip"
    networking.gke.io/managed-certificates: artsdata-certificate
    ingress.kubernetes.io/enable-cors: "true"
spec:
  backend:
    serviceName: artsdata-kg
    servicePort: 80

为了检查,我使用curl如下所示:

curl -H "Access-Control-Request-Method: GET" -H "Origin: http://localhost" --head http://db.artsdata.ca

我希望响应包含access-control-allow-*

共有1个答案

计泉
2023-03-14

目前GCP L7负载平衡器不支持CORS机制,因此ingress-gce ingress controller包含适当的注释来完成此功能,请在这里找到相关的堆栈线程。

如果您考虑用Nginx入口控制器替换本机GCP入口类,以便启用跨源请求,那么您可能必须在源入口资源定义中包含至少两个注释:

kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"

我在GCP社区教程中找到了一个很好的指南,它解释了GKE中Nginx入口控制器的实现过程

 类似资料:
  • 我试图使用以下注释启用带有入口的cors,但没有成功:

  • 我对这个话题很陌生。我已经用PKCS#12数字证书签署了一份PDF文档。在Adobe Reader中,当我打开签名面板时,我可以看到“签名已启用LTV”。读了这篇文章,我无法真正理解是否需要应用时间戳。如果没有,我如何验证应用签名的时间?或者我应该添加什么样的验证信息?

  • 问题内容: 我正在学习使用Selenium(v2.20)来领先一些 即将使用它创建浏览器测试的程序员。我想在 陷阱到达之前发现它们,而我却跌入了一个陷阱。 当我创建ChromeDriver时,它始终会弹出“ Google Chrome EULA”并 显示两个按钮:“接受并运行”和“取消”。因为我希望这是一个 自动化测试,所以让用户单击按钮是不可能的。 我查看了Chromium CommandSwi

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 问题内容: 如果我要使用DefaultServeMux(我将其指定为ListenAndServe的第二个参数来指定),那么我可以访问,您可以在Go Wiki的以下示例中看到该: 在当前代码中,我无法使用DefaultServeMux,即我将自定义处理程序传递给ListenAndServe 因此,我没有内置的代码。但是,我必须将一些授权代码修改为需要类似的授权代码。例如,如果我一直在使用Defaul

  • 我有一个具有两个属性的dynamoDB表: A: 主分区键 B: 主排序键 我想使用属性B查询这个表,因为我不知道A的值。可以这样做吗? 是否可以将B设为GSI(全局二级索引),如何使用B查询表,因为B已经是排序键。