【问题标题】:Spring Boot and Zuul routesSpring Boot 和 Zuul 路由
【发布时间】:2020-10-25 03:45:26
【问题描述】:

有一个简单的代理:

@EnableZuulProxy
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    @Bean
    public  SimpleFilter simpleFilter(){
        return  new SimpleFilter();
    }

}

前置过滤器:

public class SimpleFilter extends ZuulFilter {

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

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

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

    @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()));

        return null;
    }

}

和属性:

    zuul.ignored-patterns=/myserver/web/**
    zuul.routes.myserver.path=/myserver/api/**
    zuul.routes.myserver.url=http://localhost:80/myserver/api
    zuul.routes.myserver.sensitiveHeaders = Cookie,Set-Cookie
    server.port=3000

总的来说,一切正常。
但是代理发送的网页有类似的链接

href="http://localhost:80/myserver/api/item"

A 必须是这样的形式:

href="http://server_ip:3000/myserver/api/item"

如何配置服务器以发送正确的链接?

案例:
1.直接从互联网访问myserver时如:

http://server_ip:80/myserver/api/item

服务器发送带有如下链接的页面:

 href="http://server_ip:80/myserver/api/item"

2.当从互联网访问代理时:

http://server_ip:3000/myserver/api/item

proxy-server 发送带有如下链接的页面:

href="http://localhost:80/myserver/api/item"

【问题讨论】:

    标签: java spring spring-boot netflix-zuul


    【解决方案1】:

    了解并尝试了不同的选择。
    解决问题所需的只是添加到设置中:
    .properties

    ......
    zuul.add-host-header = true 
    ......
    

    【讨论】:

      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 2018-11-13
      • 2018-01-12
      • 2019-05-08
      • 2019-09-11
      • 2016-08-31
      • 2017-12-02
      • 2022-06-10
      相关资源
      最近更新 更多