gpt4 book ai didi

spring-boot - 如何使用zuul代理过滤器路由到外部url

转载 作者:行者123 更新时间:2023-12-01 17:23:25 26 4
gpt4 key购买 nike

我有一个外部 URL,我想通过 zuul 过滤器传递一些请求 header 来启动应用程序。谁能帮我解决这个问题吗?在我的自定义预过滤器中,我写了这样的内容:

 @Component
public class CustomFilters extends ZuulFilter {

public static final Logger logger = LoggerFactory.getLogger(CustomFilters.class);


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

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

@Override
public boolean shouldFilter() {

return true;
}

@Override
public Object run() {
logger.info("executing run ");
RequestContext ctx = RequestContext.getCurrentContext();
ctx.addZuulRequestHeader("x-forwarded-host", "<external url>");
ctx.addZuulRequestHeader("x-forwarded-proto", "https");
ctx.addZuulRequestHeader("x-forwarded-port", "8800");
ctx.addZuulRequestHeader("key", "id);

return null;
}
}

应用程序属性:

ribbon.eureka.enabled=false
server.port=8080
zuul.routes.books.sensitive-headers=
zuul.routes.books.path = /books/
zuul.routes.books.url = <ext url>

示例应用程序:这给了我一个休息网址,通过它我可以重定向到上面在我的属性文件中定义的外部网址。

public class SampleApplication {

@RequestMapping(value = "/check")
public String available() {
return "available!";
}

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

}

应用程序属性:

spring.application.name=book
server.port=8090

问题截图

enter image description here

最佳答案

 zuul:
routes:
users:
path: /myusers/**
url: http://example.com/users_service

这些简单的 url 路由不会作为 HystrixCommand 执行,也不会使用 Ribbon 对多个 URL 进行负载平衡。为了实现这些目标,您可以指定带有静态服务器列表的 serviceId,如下所示:

zuul:
routes:
echo:
path: /myusers/**
serviceId: myusers-service
stripPrefix: true

hystrix:
command:
myusers-service:
execution:
isolation:
thread:
timeoutInMilliseconds: ...

myusers-service:
ribbon:
NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
ListOfServers: http://example1.com,http://example2.com
ConnectTimeout: 1000
ReadTimeout: 3000
MaxTotalHttpConnections: 500
MaxConnectionsPerHost: 100

在您的过滤器中,确保该过滤器仅针对 uri example1.com 或 example2.com 的请求,通过 impelemting 应该过滤方法进入图片

关于spring-boot - 如何使用zuul代理过滤器路由到外部url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50094625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com