代理配置的文档 http://docs.codehaus.org/display/JETTY/Asynchronous+Proxy+Servlet
大概就就类似
<servlet> <servlet-name>GoogleProxy</servlet-name> <servlet-class>org.mortbay.proxy.AsyncProxyServlet$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>
当然你也可以继承扩展org.mortbay.proxy.AsyncProxyServlet$Transparent来实现自己的代理逻辑。
这个内置的透明代理实现非常有用,比如你只有一个对外开放的服务器端口,然而又不好配置虚拟主机,那么就可以用jetty在前端代理,后面随便你用什么tomcat或者jetty来发布一个web服务。
当然这个方案是那些不后高并发的web应用程序实用的。
我打算前台web应用,来代理一个后台的应用,这个就可以分开在两个独立的web容器里面了(被限制只能用一个端口)。也算一个比较奇怪的用法。
ps:如果你测试结果是403 ,那么大概就是Perfix配置错了。例如你程序的访问路径是 http://localhost/contextname
那么,perfix就要改为contextname/google