更新AKS服务SSL证书后出现CORS错误,求解决方案
AKS更新SSL证书后CORS错误的解决方案
1. 配置Ingress控制器的CORS规则
如果使用NGINX Ingress控制器,需在Ingress资源中添加CORS相关annotations,示例如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: your-ingress-name annotations: nginx.ingress.kubernetes.io/enable-cors: "true" nginx.ingress.kubernetes.io/cors-allow-origin: "https://your-frontend-domain.com" # 替换为实际允许的前端域名,多域名用逗号分隔 nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS" nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization" nginx.ingress.kubernetes.io/cors-allow-credentials: "true" # 若需携带Cookie则开启 spec: tls: - hosts: - "prodazure.thesolarlabs.com" secretName: tls-secret rules: # 你的路由规则...
生产环境避免使用"*"作为允许的源,需指定具体域名。
2. 检查后端服务的CORS配置
确保后端服务(如Spring Boot、Node.js应用)的CORS规则与Ingress配置一致,或关闭后端的CORS拦截,统一由Ingress处理,避免规则冲突导致错误。
3. 验证域名一致性
确认前端请求的域名与Ingress TLS配置的hosts完全匹配,CORS对域名的校验是严格的,prodazure.thesolarlabs.com与www.prodazure.thesolarlabs.com会被视为不同域名。
4. 排查OPTIONS预检请求
CORS预检(OPTIONS)请求需被正确处理:
- 检查Ingress日志,确认OPTIONS请求是否正常转发到后端
- 确保后端能返回200状态码及正确的CORS响应头
5. 清除浏览器缓存
浏览器可能缓存了旧的CORS响应头,强制刷新(Ctrl+Shift+R)或清除缓存后重新测试。
内容的提问来源于stack exchange,提问作者Aarti Joshi
相关产品推荐
相关产品推荐

