jetty自带的服务端代理(proxy)

代理配置的文档 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

你可能感兴趣的:(tomcat,应用服务器,Web,servlet,Google)