请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问用ingress-traefik 怎么样做 反向代理到域名上面

server {
    listen  80;

    #当前域名
    server_name www.test.com; 
	
	
    location /app { 
        proxy_set_header        Host "school.linkease.net.cn";
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_pass http://myservice;   #本地服务
        proxy_http_version 1.1;
        proxy_read_timeout 3600s; # 超时设置
    } 

	
	location  /ws/geocoder/v1 { # 
        #允许跨域请求的域,*代表所有
        add_header 'Access-Control-Allow-Origin' *;
        #允许请求的header
        add_header 'Access-Control-Allow-Headers' *;
        proxy_pass http://www.baidu.com;  # 百度
    }

}

在实际工作中有时候,需要用nginx 反向代理规避 跨域问题,当输入 当前域名/app 访问的是自己的服务,当输入 当前域名/ws/geocoder/v1 访问的是百度, 域名还是 当前域名 不变 请问用 ingress-traefik 怎么实现

正在回答 回答被采纳积分+3

2回答

暮闲 2023-09-14 22:57:17

ingress-route bakend始终要去选择svc,所以你可以部署一个nginx服务,配置反向代理(就像你上图配置的一样,可以把配置抽离为configMap挂载nginx配置里面),然后创建对应的svc,再用ingress去关联svc。

0 回复 有任何疑惑可以回复我~
暮闲 2023-09-13 20:56:49

同学你好 ingress traefik 是根据域名找svc svc路由找pod

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕勒0518364 #1
    server {
        listen  80;
        listen  443 ssl;
    
        #当前的域名
        server_name test.xxxx.com; 
    location  /ws/geocoder/v1 { # 微信地图
            #允许跨域请求的域,*代表所有
            add_header 'Access-Control-Allow-Origin' *;
            #允许请求的header
            add_header 'Access-Control-Allow-Headers' *;
            proxy_pass http://apis.map.qq.com;  # 外部域名
        }
    }
    要是实现这个效果,浏览器输入的 是 http://test.xxxx.com/ws/geocoder/v1 这个域名, 展示 的却是 http://apis.map.qq.com 这个域名的内容, http://apis.map.qq.com这域名不是自己的服务器
    回复 有任何疑惑可以回复我~ 2023-09-14 14:55:28
  • 提问者 weixin_慕勒0518364 #2
    server {
        listen  80;
        listen  443 ssl;
    
        #当前域名
        server_name www.test.com; 
    	
    	
        location /app { 
            proxy_set_header        Host "school.linkease.net.cn";
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; 
            proxy_pass http://myservice;   #本地服务
            proxy_http_version 1.1;
            proxy_read_timeout 3600s; # 超时设置
        } 
    
    	
    	location  /ws/geocoder/v1 { # 微信地图
            #允许跨域请求的域,*代表所有
            add_header 'Access-Control-Allow-Origin' *;
            #允许请求的header
            add_header 'Access-Control-Allow-Headers' *;
            proxy_pass http://apis.map.qq.com;  # 外部
        }
    
    }
    
    
    在实际工作中有时候,需要用nginx 反向代理规避 跨域问题,当输入 http://www.test.com/app 访问的是自己的服务,当输入 http://www.test.com//ws/geocoder/v1 访问的是微信地图,请问用 ingress-traefik 怎么实现
    回复 有任何疑惑可以回复我~ 2023-09-14 15:01:19
  • 提问者 weixin_慕勒0518364 #3
    老师,之前问题描述不准确,我把问题描述重新修改了一下, 上面  的 “当前域名” 为  www.test.com ,直接写 会被屏蔽,麻烦帮忙看看
    回复 有任何疑惑可以回复我~ 2023-09-14 15:11:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信