gpt4 book ai didi

spring-boot - 如何配置 Zuul 网关(监听两个端口)以拒绝基于端口和 url 组合的请求?

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:55 25 4
gpt4 key购买 nike

我有一个用例,需要从另一个 Spring Boot 应用程序和浏览器访问我的 Zuul 网关。

Spring Boot 应用程序需要使用证书向 Zuul 验证自身。所以我在端口 8762 上启用了双向 ssl,并在端口 8763 上启用了单向 ssl 以供浏览器访问。但问题是现在我可以通过 8763 端口访问每个端点。有没有办法强制通过 8762 访问某些 url?每个包含“api”的示例 url 只能通过端口 8762 而不能通过端口 8763 访问。有没有办法制作这样的过滤器?

最佳答案

您可以创建自定义预路由 ZuulFilter识别传入请求并决定是否需要进一步路由请求。

从上下文中获取有关传入请求 (HttpServletRequest) 的详细信息。以下是供您引用的示例片段:

@Override
public String filterType() {
return FilterConstants.PRE_TYPE;
}

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

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

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

request.getRemotePort(); // Assign these to a variable to perform your business logic.
request.getRequestURI();

关于spring-boot - 如何配置 Zuul 网关(监听两个端口)以拒绝基于端口和 url 组合的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59160448/

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