1. 背景介绍
按照云服务器以域名形式访问机房Kubernetes集群服务之解决方案-CSDN博客
部署的k8s平台
2. CORS报错
/app/chart-view/1.0.1/index.html#/chart/home/1953010081653735426:1 Access to XMLHttpRequest at 'https://hao-test.lmzf.com/zy/proxy/open-api/hunan/medianode/queryMaintainIndicator?indicator=FAULTY_DEVICE&startDate=2025-08-01&endDate=2025-08-04' from origin 'https://day-test.lmzf.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
3. 解决方案
3.1 nginx代理配置
注意:不需要添加如下配置项:
add_header 'Access-Control-Allow-Origin' 'https://*.lmzf.com';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type';
3.1.1 nginx转发完整配置文件如下:
server {
listen 443 ssl;
server_name hao-test.lmzf.com;
ssl_certificate /etc/nginx/ssl/lmzf.com.pem;
ssl_certificate_key /etc/nginx/ssl/lmzf.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass https://2.2.2.2:32532; # 指向Kubesphere网关的节点端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
3.2 应用路由配置
3.2.1 新增配置项入口【编辑yaml】

3.2.2 新增配置项
nginx.ingress.kubernetes.io/enable-cors: 'true'
nginx.ingress.kubernetes.io/cors-allow-origin: 'https://*.lmzf.com'
3.2.3 应用路由Ingress完整文件如下
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
name: hao-test
namespace: lmzf
creationTimestamp: '2025-08-12T12:41:05Z'
annotations:
kubesphere.io/alias-name: 页面网关
kubesphere.io/creator: admin
nginx.ingress.kubernetes.io/cors-allow-methods: 'GET, POST, OPTIONS'
nginx.ingress.kubernetes.io/enable-cors: 'true'
nginx.ingress.kubernetes.io/cors-allow-origin: 'https://*.lmzf.com'
nginx.ingress.kubernetes.io/proxy-body-size: 50m
nginx.ingress.kubernetes.io/proxy-connect-timeout: 300s
nginx.ingress.kubernetes.io/proxy-pass-headers: Authorization
nginx.ingress.kubernetes.io/proxy-read-timeout: 300s
nginx.ingress.kubernetes.io/proxy-send-timeout: 300s
spec:
ingressClassName: kubesphere-router-cluster
tls:
- hosts:
- hao-test.lmzf.com
secretName: hao-test.lmzf.com
rules:
- host: hao-test.lmzf.com
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: gateway-biz
port:
number: 8088