大佬教程收集整理的这篇文章主要介绍了SpringCloud GateWay使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
server:
port: 9006
spring:
application:
name: zhao-service-gateway
cloud:
gateway:
routes:
- id: service-autodeliver-router
#uri: http://127.0.0.1:8091
uri: lb://zhao-service-autodeliver
preDicates:
- Path= /autodeliver/**
- id: service-resume-router
#uri: http://127.0.0.1:8081
uri: lb://zhao-service-resume
preDicates:
- Path=/resume/**
filters:
- StripPrefix=1
@H_450_2@通过第一个服务hao-service-autodeliver的配置形式,使用固定ip和服务名均可正常通过网关项目访问到服务,但是固定ip的方式不太灵活,而 lb://zhao-service-autodeliver可以实现随机的负载均衡,且不用填写固定ip也避免了不要的麻烦@Component
@Slf4j
public class BlackListFilter implements GlobalFilter, ordered{
private static final List<String> blackList=new ArrayList<>();
static {
blackList.add("0:0:0:0:0:0:0:1");//模拟本机ip地址
}
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
Serverhttprequest request = exchange.getrequest();
ServerhttpResponse response =exchange.getResponse();
String clientIp = request.getRemoteAddress().getHostString();
if (blackList.contains(clientIp)){
response.setStatusCode(httpStatuS.UNAUTHORIZED);
log.error(clientIp+"在黑名单中,拒绝访问");
String data = "request be denied";
DataBuffer wrap = response.bufferFactory().wrap(data.getBytes());
return response.writeWith(Mono.just(wrap));
}
return chain.filter(exchangE);
}
@Override
public int getOrder() {
return 0;
}
}
@H_450_2@通过该过滤器拦截了黑名单中的请求(该操作在实际中可借助mysql或redis等数据存储实现),实现效果以上是大佬教程为你收集整理的SpringCloud GateWay使用全部内容,希望文章能够帮你解决SpringCloud GateWay使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。