Фильтр Zuul API Gateway Logger не регистрирует запросы, вместо этого возвращает 401 - PullRequest
0 голосов
/ 05 марта 2020

У меня есть несколько микро-сервисов, работающих на серверах аутентификации Ribbon, Eureka и OAuth2. Все работало как шарм. Затем я представил Zuul API Gateway и добавил класс регистрации для регистрации моих запросов.

Zuul Gateway yml

spring:
  application:
    name: zuul-api-gateway-service
server:
  port: 8765
eureka:
  client:
    service-url:
      defaultZone: http://theusername:thepassword@localhost:8761/eureka
    register-with-eureka: true
zuul:
  sensitiveHeaders: Cookie,Set-Cookie, Authorization
  routes:
    job-service:
      path: /api/**
      url: http://localhost:7084
    jobposting-service:
       path: /api/**
       url: http://localhost:6084
       stripPrefix: false
    oauth:
      path: /auth/**
      url: http://localhost:9191

Zuul Appplication class

@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
public class ZuulApiGatewayServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZuulApiGatewayServerApplication.class, args);
    }

}

LoggingFilter

@Component
public class ZuulLoggingFilter extends ZuulFilter {
    private Logger logger = LoggerFactory.getLogger(this.getClass());
    @Override
    public String filterType() {
        return "pre"; //pre post error
    }

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

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

    @Override
    public Object run() throws ZuulException {
        HttpServletRequest request = RequestContext.getCurrentContext().getRequest();
        logger.info("request -> {} request uri -> {}", request, request.getRequestURI());
//
//        RequestContext ctx = RequestContext.getCurrentContext();
//        // Add a custom header in the request
//        ctx.addZuulRequestHeader("Authorization",
//                request.getHeader("Authorization"));
//        logger.info(String.format("%s request to %s", request.getMethod(),
//                request.getRequestURL().toString()));
        return null;
    }

}

Тогда мои запросы API оказались не работающими. Любой запрос, даже с токеном авторизации, прикрепленным к заголовку, возвращает 401 несанкционированный. Регистратор также ничего не регистрирует.

Заранее спасибо

...