gpt4 book ai didi

java - jetty 透明代理总是返回 403 forbidden

转载 作者:行者123 更新时间:2023-12-04 05:27:29 32 4
gpt4 key购买 nike

我正在尝试使用 jetty 提供的透明代理。

这是我的 web.xml

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_9"
version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Archetype Created Web Application</display-name>

<servlet>
<servlet-name>googleProxy</servlet-name>
<servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class>
<init-param>
<param-name>ProxyTo</param-name>
<param-value>http://www.google.com</param-value>
</init-param>
<init-param>
<param-name>Prefix</param-name>
<param-value>/google</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>googleProxy</servlet-name>
<url-pattern>/google/*</url-pattern>
</servlet-mapping>

这是 pom.xml (我正在使用 maven):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>JettyProxySample</groupId>
<artifactId>JettyProxySample</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>JettyProxySample Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>7.0.0.M4</version>
</dependency>
</dependencies>
<build>
<finalName>JettyProxySample</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

我希望代理转发这样的请求:
http://localhost:8080/JettyProxySample/google/search?q=hello

对此:
http://www.google.com/search?q=hello

但是当我在浏览器中尝试那个 url 时,我总是得到这个:
HTTP ERROR: 403

FORBIDDEN
RequestURI=/JettyProxySample/google/search

Powered by Jetty://

有什么想法吗?

最佳答案

只是在这里抛出一个答案,不要使用已有多年历史的里程碑版本。

  • 7.6.7.v20120910 for jetty7
  • 8.1.7.v20120910 for jetty8

  • 我知道很多人在两个版本中都成功地使用了代理 servlet,只是从最初从 codehaus 迁移到 eclipse 时所发生的事情……当时有大量的代码流失,所以如果这不是,我不会感到惊讶t 为您正常工作。

    关于java - jetty 透明代理总是返回 403 forbidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027679/

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