您的位置:首页 > 运维架构 > 反向代理

Zuul的基本应用,反向代理和负载均衡

2017-11-22 13:49 363 查看
http://blog.csdn.net/fxq8866/article/details/77127330
package com.didispace.filter;

import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.http.HttpServletRequest;

public class AccessFilter extends ZuulFilter  {

private static Logger log = LoggerFactory.getLogger(AccessFilter.class);

@Override
public String filterType() {
return "pre";
}

@Override
public int filterOrder() {
return 0;
}

@Override
public boolean shouldFilter() {
return true;
}

@Override
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();

log.info(String.format("%s request to %s", request.getMethod(), request.getRequestURL().toString()));

Object accessToken = request.getParameter("accessToken");
if(accessToken == null) {
log.warn("access token is empty");
ctx.setSendZuulResponse(false);
ctx.setResponseStatusCode(401);
return null;
}
log.info("access token ok");
return null;
}

}
spring.application.name=api-gatewayserver.port=5555# routes to serviceIdzuul.routes.api-a.path=/api-a/**zuul.routes.api-a.serviceId=service-A#below two lines is for ribbon loadblanceribbon.eureka.enabled=falseservice-A.ribbon.listOfServers:http://localhost:2222/,http://localhost:2223/zuul.routes.api-b.path=/api-b/**zuul.routes.api-b.serviceId=service-B# routes to urlzuul.routes.api-a-url.path=/api-a-url/**zuul.routes.api-a-url.url=http://localhost:2222/eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: