社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
由于公司环境各个环境(dev test pre prod)的配置不一致,而且配置较为复杂通过nginx进行配置文件可读性较差,导致上线时会有各种配置问题。
目前项目主要存在两点问题
1、跨域问题(前端通过option调用其他服务)
2、配置沟通不畅
我们自己通过gateway进行转发配置,通过后端程序来进行转发配置,这样配置透明能够通过查看git配置文件看到各个转发到某个位置(或者通过url)
上传:方式1、访问路径前追加“/zuul/**” 参考:https://blog.csdn.net/u014401141/article/details/78713054
方式2、通过nginx做下配置
我们目前环境必定有一个路径指定到我们的项目 加入该项目的content-path为common 例如dev环境为 https://devword.xxxx.cn/common 该地址直接指向common 我们基于该地址配置路径进行转发。
通过分析gateway项目发现只容许 /common/api/** 路径通过gateway访问common项目,所以我们加了一个路径为api/forward/**转发到gateway项目让gateway项目自己处理一些用户校验等工作,这样前端就可以通过这个访问啦。
前端对 gateway 不要写死,要写成变量,可能各个环境不一致
1、通过自己转发管理清晰。
2、前端所有接口都走common不会出现跨域问题
3、与运维沟通时间大幅度减少
4、清晰的知道前端到底调用了那些服务,以及外部接口
1、gateway本身就是转发,我们相当于单独启动了一个gateway
2、内部服务通过gateway转发到common——> gateway这样相当于多次转发,但是由于用的内网可以忽略
zuul:
routes:
baidu:
path: /api/forward/baidu/**
sensitiveHeaders: Cookie,Set-Cookie,Authorization # blacklist,如果不过滤,则须显式设为空。
url: https://www.baidu.com/
1、前端对各个接口转发路径
2、后端配置转发路径
https://blog.csdn.net/chenqipc/article/details/53322830
https://blog.csdn.net/mn960mn/article/details/51832753
https://blog.csdn.net/u013815546/article/details/68944039
不转发敏感信息 https://segmentfault.com/a/1190000010329757
gateway动态修改url: http://www.jb51.net/article/123405.htm
官网文档:https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul.html
欢迎大家转载,转载时请注明原文地址
https://blog.csdn.net/weixin_41805044/article/details/80238613
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!