Skip navigation.
Downloads | Product Documentation | Support

Using Web Server Plug-Ins with WebLogic Server

# Proxying Requests from WebLogic Server to Another Web Server

The following sections discuss how to proxy HTTP requests from WebLogic Server to another Web server:

- Overview of Proxying Requests to Another Web Server
- Setting Up a Proxy to a Secondary Web Server
- Sample Deployment Descriptor for the Proxy Servlet

# Overview of Proxying Requests to Another Web Server

When you use WebLogic Server as your primary Web server, you may also want to configure WebLogic Server to pass on, or proxy, certain requests to a secondary Web server, such as Sun One Web Server, Apache, or Microsoft Internet Information Server. Any request that gets proxied is redirected to a specific URL.You can even proxy to another Web server on a different machine.You proxy requests based on the URL of the incoming request.

The `HttpProxyServlet` (provided as part of the distribution) takes an HTTP request, redirects it to the proxy URL, and sends the response to the client's browser back through WebLogic Server. To use the `HttpProxyServlet`, you must configure it in a Web Application and deploy that Web Application on the WebLogic Server instance that is redirecting requests.

# Setting Up a Proxy to a Secondary Web Server

To set up a proxy to a secondary HTTP server:

1. Register the `proxy` servlet in your Web Application deployment descriptor (see Sample web.xml for Use with ProxyServlet)`.` The Web Application must be the default Web Application of the server instance that is responding to requests. The class name for the proxy servlet is `weblogic.servlet.proxy.HttpProxyServlet.` For more information, see Developing Web Applications and Application Resources .
2. Define an initialization parameter for the `ProxyServlet` with a `<param-name>` of `redirectURL` and a `<param-value>` containing the URL of the server to which proxied requests should be directed.
3. Map the `ProxyServlet` to a `<url-pattern>`. Specifically, map the file extensions you wish to proxy, for example `*.jsp`, or *`.html`. Use the `<servlet-mapping>` element in the `web.xml` Web Application deployment descriptor.

If you set the `<url-pattern>` to "`/`", then any request that cannot be resolved by WebLogic Server is proxied to the remote server. However, you must also specifically map the following extensions: `*.jsp`, `*.html`, and `*.html` if you want to proxy files ending with those extensions.

4. Deploy the Web Application on the WebLogic Server instance that redirects incoming requests.

# Sample Deployment Descriptor for the Proxy Servlet

The following is a sample of a Web application deployment descriptor for using the Proxy Servlet.

Listing 5-1 Sample web.xml for Use with ProxyServlet

>     <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
>      //DTD Web Application 2.3//EN"
>      "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

>     <web-app>

>     <servlet>
>       <servlet-name>ProxyServlet</servlet-name>
>       <servlet-class>weblogic.servlet.proxy.HttpProxyServlet</servlet-class>

>       <init-param>
>         <param-name>redirectURL</param-name>
>         <param-value>
>            http://myserver:7001
>         </param-value>
>       </init-param>

>     </servlet>

>     <servlet-mapping>
>       <servlet-name>ProxyServlet</servlet-name>
>       <url-pattern>/</url-pattern>
>     </servlet-mapping>

>     <servlet-mapping>
>       <servlet-name>ProxyServlet</servlet-name>
>       <url-pattern>*.jsp</url-pattern>
>     </servlet-mapping>

>     <servlet-mapping>
>       <servlet-name>ProxyServlet</servlet-name>
>       <url-pattern>*.htm</url-pattern>
>     </servlet-mapping>

>     <servlet-mapping>
>       <servlet-name>ProxyServlet</servlet-name>
>       <url-pattern>*.html</url-pattern>
>     </servlet-mapping>

>     </web-app>