pretty-gateway 路由

 

路由网关 nginx 是一款强大的反向代理服务器

zuul也具有路由的功能,适合在微服务中一些场景下使用,可以在路由前进行过滤,判断是否进行路由,在前后端分离项目中可以

用做 服务负载均衡的调用器,和对html页面进行权限验证放行 .js,.css 等资源文件

自定义zuul过滤器

import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_DECORATION_FILTER_ORDER;
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_TYPE;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;

public class CoreFilter extends ZuulFilter {

	@Override
	public boolean shouldFilter() {
		// TODO Auto-generated method stub
		RequestContext ctx= RequestContext.getCurrentContext();
		HttpServletRequest request = ctx.getRequest();
		String requestUrl = request.getRequestURL().toString();
		//是否需要执行过滤,即执行run()
		return !requestUrl.contains("login.html")&&!requestUrl.contains(".js")&&!requestUrl.contains(".css")&&!requestUrl.contains(".img");
	}

	@Override
	public Object run() throws ZuulException {
		// TODO Auto-generated method stub
		RequestContext ctx= RequestContext.getCurrentContext();
		HttpServletRequest request = ctx.getRequest();
		HttpServletResponse response = ctx.getResponse();
		/*HttpSession session = request.getSession();
		session.getAttribute("key");
		response.addHeader("token", "123456");*/
	
		try {
			//跳转登入页面
			response.sendRedirect("http://127.0.0.1:9001/pretty-client/login.html");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public String filterType() {
		// TODO Auto-generated method stub
		return PRE_TYPE;
	}

	@Override
	public int filterOrder() {
		// TODO Auto-generated method stub
		return PRE_DECORATION_FILTER_ORDER;
	}

}

 appliction.xml添加配置,serviceId 服务调用,url 路由到其他id地址

#路由分发
zuul:
  strip-prefix: true
  routes:
    pretty-security-serviceId:
      path: /pretty-security-serviceId/** #默认时转发到服务的请求是/**,如果stripPrefix=false,转发的请求是/pretty-security-serviceId/**
      serviceId: pretty-security
    pretty-security-url:
      path: /pretty-security-url/**
      url: http://127.0.0.1:9000/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值