gpt4 book ai didi

java - Jetty ProxyServlet 不重定向请求

转载 作者:行者123 更新时间:2023-12-02 03:36:44 24 4
gpt4 key购买 nike

我想将请求重定向到另一个处理请求并执行业务逻辑的服务器。我尝试使用 ProxyServlet 但它不起作用。

这是我对主服务器的实现,它获取所有请求:在 localhost:8081 上运行

    Server server = new Server(8081);

// 2. Creaing the WebAppContext for the created content
WebAppContext ctx = new WebAppContext();
ctx.setResourceBase("src/main/webapp");
ctx.setContextPath("/jetty-jsp-example");

ServletHolder jerseyServlet = ctx.addServlet(ProxyServlet.class,"/*");
jerseyServlet.setInitOrder(0);

jerseyServlet.setInitParameter("maxThreads", "1");
jerseyServlet.setInitParameter("proxyTo", "localhost:8080");

ctx.setAttribute("o:Prg.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",".*/[^/]*jstl.*\\.jar$");

org.eclipse.jetty.webapp.Configuration.ClassList classlist = org.eclipse.jetty.webapp.Configuration.ClassList.setServerDefault(server);
classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", "org.eclipse.jetty.plus.webapp.EnvConfiguration", "org.eclipse.jetty.plus.webapp.PlusConfiguration");
classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration", "org.eclipse.jetty.annotations.AnnotationConfiguration");
server.setHandler(ctx);
server.start();
server.join();

我想将此请求转发到在端口 8080 上运行的服务器。我的目标服务 url 路径是: localhost:8080/jetty-jsp-example/sv/endpoint 。

我已经导入了jetty代理,如下

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-proxy</artifactId>
<version>9.3.8.v20160314</version>

此外,我读到我们的自定义代理 servlet 应该需要扩展 proxyservlet 类并覆盖 rewriteURL() 方法。但是当我尝试时,它给了我编译错误。
有人让我如何解决这个问题吗?我用的是jetty 9.3

最佳答案

呵呵,前几天我也在想如何让它发挥作用。我必须使用带有以下初始化参数的子类型 BalancerServlet:

// give your servlet a name
jerseyServlet.setName("proxy");
// parameter is 'balancerMember.NAME.proxyTo'
jerseyServlet.setInitParameter("balancerMember.proxy.proxyTo", "http://yourdownstreamserver.com/");

有关配置的文档有点稀疏;我最终不得不查看 source code 。另请注意,Jetty 代理不支持通过 SSL 代理下游服务。

关于java - Jetty ProxyServlet 不重定向请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37372992/

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