解决kubernetes中应用的跨域问题

在kubernetes中,当前端和后端部署在不同pod时,会出现跨域问题。本文介绍了三种解决方法:1) 部署内部nginx pod作为代理;2) 在集群外部部署nginx解决跨域;3) 使用ingress配置。第一种方式节省资源,第二种灵活,第三种适用于前端在外或有DNS服务的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kubernetes与spring cloud 的结合中,由于前后端分别部署在了不同的pod中,所以在访问的时候会产生跨域问题,有三种解决方式。

一、在集群中部署nginx pod对后端应用进行代理

我们的前端应用为crm-web,后端应用为crm-portal,每个应用对应一个ClusterIP形式的service。

> kubectl get po -n dev
NAME                                              READY   STATUS    RESTARTS   AGE
crm-portal-deployment-7c6f544855-l8qr8            1/1     Running   0          117m
crm-web-deployment-5cf8447595-h7qms               1/1     Running   0          17m
> kubectl get svc -n dev
NAME                    TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
crm-portal -svc          ClusterIP 10.108.158.149   <none>        8091/TCP               6d1h
crm-web-svc             NodePort    10.107.246.255   <none>        8080:30000/TCP               6d1h

我们在集群中创建一个nginx,设置为允许跨域,代理后端pod。

1、创建nginx的confmap
1)首先准备nginx的配置文件nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
            listen       8090;
            server_name  localhost;
            location / {
                    add_header 'Access-Control-Allow-Origin' '*';
                    add_hea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值