更新 SSL 证书后 AKS 上出现 CORS 错误

问题描述 投票:0回答:2

我已更新 AKS 服务上的 SSL 证书。但我收到 CORS 错误。 不过,新的证书正在得到反映。 有人可以提供解决方案吗? 这是我的入口文件的 TLS 部分。

spec:
  tls:
   - hosts:
     - "prodazure.thesolarlabs.com"
     secretName: tls-secret
azure kubernetes ssl kubernetes-ingress azure-aks
2个回答
1
投票

A CORS 错误与您从 Javascript 源向另一个服务、目标/后端发出请求(fetch、XHR 等)有关,并且根据该目标服务提供的标头。

这意味着您的服务(即来源、部署在 AKS 中的服务)正在尝试联系另一项服务。为了避免 CORS 错误,该服务需要提供至少包含源服务的主机的

Access-Control-Allow-Origin
,在您的示例中:

Access-Control-Allow-Origin: https://prodazure.thesolarlabs.com

单独更改 SSL 证书不应是导致 CORS 错误的原因:如前所述,请调整您的目标/后端服务 CORS 配置以指向源服务的新主机(如果您更改了它),并确保您正在为正确的 HTTP 方案配置

Access-Control-Allow-Origin
,在本例中也是
https


0
投票

我也遇到了同样的问题,我花了一段时间才弄清楚。可能不是完全相同的问题,但也许其他人会发现它有用。

就我而言,我们正在使用 AGIC 运行 AKS 以及使用 AKS 预配的应用程序网关。后端是 CDN_Frontdoor 的下游。每当在集群中设置带有 cert-manager 和 Letsencrypt 的 tls 时,CORS 错误都会显示为 No “Access-Control-Allow-Origin” header present 但在 aks 集群中没有 tls 时一切正常。

事实证明,一旦配置了 tls,appgw 就会修改侦听器以仅侦听“443”。因此,我的解决方法是手动配置一个重定向到 https 侦听器的 http 侦听器。因此,如果您的前端配置为仅向后端发送 http 请求,那可能就是您的确凿证据。

还要确保您使用的反向代理之间的主机名一致性。

© www.soinside.com 2019 - 2024. All rights reserved.