
SpringCloud
Hpsyche
默默学习的菜鸡大四学生
展开
-
SpringCloud确保服务由gateway网关转发(服务器端口规则及设置方法)
前言在前面曾提到一些方法确保SpringCloud中服务接口先通过网关转发,再到达我们的主服务,避免请求越过网关,直接访问我们的主服务。但除了在转发层面添加header的解决方式之外,我们大可在服务器层面做手脚,开放必要的端口即可,从源头上断绝了对服务接口的直接访问。正文首先有如下架构:Consul于服务器192.168.1.102;Gateway于服务器192.168.1.103;...原创 2020-04-19 23:52:27 · 10511 阅读 · 0 评论 -
基于Jenkins+Docker+Github实现SpringCloud自动化部署
前言本博文主要介绍了基于Jenkins+Docker+Github实现了对SpringCloud微服务项目的快速打包、部署。正文项目准备首先有如下SpringCloud项目(这里以本人的毕设项目举例),目录结构如下:bishe_base中的每个module代表一个服务,其中client为后缀的代表的是客户端,其用来暴露server服务中提供的服务接口,给外部的服务使用。为了让项目最终...原创 2020-04-05 17:38:13 · 2415 阅读 · 0 评论 -
拦截器中注入Feign接口后,报错NullPointerException
前言在拦截器中,需要通过Feign调用Auth基础服务,判断用户身份;此时在Feign Api中出现了NPE错误。正文之前写过类似的博客日志拦截NLP处理,原因主要是:在注册拦截器时(WebMvcConfig类)直接通过new XXXInterceptor(),并没有触发Spring去管理bean,所以@Autowired没有生效。在项目中,我使用了主动声明、手动注入的方法,具体如下:...原创 2019-12-01 23:09:40 · 3479 阅读 · 0 评论 -
SpringCloud中gateway对用户身份拦截,Vue axios统一处理状态码出现跨域问题
前言在项目中,我们很多时候都需要对用户身份进行判断,在用户身份无法被验证时,我们返回{status:401,msg:‘XXX’}等,如若能在axios处统一拦截处理,会方便许多;同样,如果在后台gateway处,也能提前对token进行统一验证,避免异常用户的异常访问。正文首先在Vue封装的axios工具类中,统一对axios进行拦截操作// 添加响应拦截器axios.intercept...原创 2019-11-30 00:59:33 · 1318 阅读 · 0 评论 -
SpringCloud+Vue解决跨域Session不一致问题
前言在做项目时,在登录验证码生成环节,后台生成验证码图像返回给前端,并将验证码置于session,用户填入验证码后传入后台并验证。但在实验时发现,由于前后端分离项目存在跨域问题,session不再相同,通过输出 sessionId也可以看出,不同请求到达服务端时sessionId是不同的,故需要考虑如何解决Session不一致的问题。正文CORS首先简单讲下CORS。CORS是一个W3...原创 2019-11-06 20:01:06 · 1491 阅读 · 0 评论 -
SpringCloud确保服务只能通过gateway转发访问,禁止直接调用接口访问
前言在微服务体系架构中,网关承担着重要的角色,在网关中可以添加各种过滤器,过滤请求,保证请求参数安全,限流等等。如果请求绕过了网关,那就等于绕过了重重关卡,直捣黄龙,所以,在分布式架构中,我们需要有一定的防范,来确保各个服务相互之间安全调用。正文思路1、在网关中给所有请求加上一个请求密钥2、在服务添加过滤器,验证密钥首先在网关服务(gateway)中添加过滤器,给放行的请求头上加上判断...原创 2019-11-06 01:08:23 · 26048 阅读 · 23 评论 -
SpringCloud之Gateway实现路由转发
动态路由:在访问不同的url时,通过gateway对路径的拦截,按url的区别分配到不同服务器上。具体实现首先创建一个父module,eureka-family,同时开启consul服务提供者创建子module,eureka-client-hello(其实服务发现工具用的是consul,但命名成eureka了,不过也不重要!)pom.xml如下<?xml version="1.0...原创 2019-07-28 22:57:10 · 3944 阅读 · 2 评论