HttpClusterServlet Proxy Plugin problem - Weblogic Express 10

Hi,
I am using Weblogic Express 10 version. I am trying to configure HttpClusterServelet in one of my test machine.
I have a Admin server and 3 Managed servers which are part of clusters. I have a test war file which is deployed on to the cluster.
I am able to open the test war file application by hitting Managed servers URL's & Port no's
for eg: http://hostname:portno/testapp
Now I have created a war file with httpclusterserver features and deployed it to Admin server. (created web.xml & weblogic.xml inside WEB-INF directory and built it as war file and deployed it to Admin server)
so practically whenever I hit the Admin server URL my request should be proxied to one of the three Managed server which are part of the cluster
But when I try to open the application through admin server hostname and port no, I get below 403 exception on browser
Error 403--Forbidden
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.4 403 Forbidden
The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.
Below is the content of my web.xml & weblogic.xml war file
web.xml
-bash-3.00$ more web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>
weblogic.servlet.proxy.HttpClusterServlet
</servlet-class>
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>
ManagedSrv1_Hostname:PortNo|ManagedSrv2_Hostname:PortNo|ManagedSrv3_Hostname:PortNo
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
weblogic.xml
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/
weblogic 810-web-jar.dtd">
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>
Kindly advise on this problem.
- - Weblogic Consultant

Hi,
          Did you configure the replication correctly in the weblogic.xml?
          Also fill in the correct cluster address in the weblogic configuration.
          http://edocs.bea.com/wls/docs90/cluster/setup.html#726973
          Schelstraete Bart
          [email protected]
          http://www.schelstraete.org
          http://www.linkedin.com/in/bschelst

Similar Messages

  • Weblogic proxy plugin closes keep-alive connections to clients randomly

    In short we have following arhitecture:
    clients ---> wl proxy plugin 1 ----> weblogic 1
    clients ---> wl proxy plugin 2 ----> weblogic 2
    Beacuse of the application/installation specific requirements, we are not using failover, one wl proxy always forwards requests to one weblogic (simple configuration).
    Application is TR-069 protocol based (SOAP over HTTP) so it very much relays on persistence TCP connections (Connection: keep-alive). This TCP persistence has to work correctly in order that TR-069 messages are exchanged in required order, otherwise we have a error on application layer.
    Here and there we've noticed applications errors which suggest that we have some problems in TCP connection between the client and the weblogic server. After sniffing, we've noticed that weblogic proxy plugin (Apache) randomly, or because of some other reason we do not know, decides to close TCP connection to client, even app on weblogic did not request so ???
    As a result, client opens new connection to the server with new TR-069 session and it gets bounced beacuse it allready has one open on weblogic server.
    We've sniffed, traced everything we could, we were searching for patterns in time, etc... but we can not find the reason why proxy plugin decides to close the connection to the client (not to the weblogic server).
    Trace (replaced sensitive information):
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: CompleteStatusLine set to [HTTP/1.1 200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> URL::parseHeaders: StatusLine set to [200 OK]
    Thu Apr 29 15:05:50 2010 <958012725463463784> parsed all headers OK
    Thu Apr 29 15:05:50 2010 <958012725463463784> sendResponse() : r->status = '200'
    Thu Apr 29 15:05:50 2010 <958012725463463784> canRecycle: conn=1 status=200 isKA=1 clen=545 isCTE=0
    Thu Apr 29 15:05:50 2010 <958012725463463784> closeConn: pooling for '$IP$/$PORT$'
    Thu Apr 29 15:05:50 2010 <958012725463463784> request [$URL$] processed successfully..................
    !!!! Now it closes the TCP connection and inserts "Connection: close" HTTP header !!!
    WL proxy plugin conf params are:
    WebLogicCluster $IP$:$PORT$
    DynamicServerList OFF
    KeepAliveTimeout 90
    MaxKeepAliveRequests 0
    KeepAliveSecs 55
    Apache worker configuration is:
    <IfModule mpm_worker_module>
    PidFile var/run/httpd-worker.pid
    LockFile var/run/accept-worker.lock
    StartServers 2
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadLimit 200
    ThreadsPerChild 200
    MaxClients 2000
    MaxRequestsPerChild 0
    AcceptMutex pthread
    </IfModule>
    Why weblogic proxy plugin ignores Keep-alive directive and decides to close connection to the client by itself?
    Any help?

    If a WebLogic Server instance listed in either the WebLogicCluster parameter or a dynamic cluster list returned from WebLogic Server fails, the failed server is marked as "bad" and the plug-in attempts to connect to the next server in the list.
    MaxSkipTime sets the amount of time after which the plug-in will retry the server marked as "bad." The plug-in attempts to connect to a new server in the list each time a unique request is received (that is, a request without a cookie).
    Note: The MaxSkips parameter has been deprecated as the MaxSkipTime parameter.
    See also here: http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/plugins/plugin_params.html
    You said the problem arises under significant load. Maybe, it is wise to tune the number file descriptor's on your operating system. HTTP connections are nothing more than TCP sockets on the operating system. All modern operating systems treat sockets as a specialized form of file access and use data structures called file descriptors to track open sockets and files for an operating system process. To control resource usage for processes on the machine, the operating system restricts the number of open file descriptors per process. You should be aware that all TCP connections that have been gracefully closed by an application will go into what is known as the TIME_WAIT state before being discarded by the operating system.
    On most unix systems you can use netstat -a | grep TIME_WAIT | wc -l to detemine the number of socket in time_wait state. You have to check with your system adminstrator how to tune the tcp_time_wait_interval. On solaris you can use: /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 60000

  • Proxy plugin misbehaves on certain ppath

    I have the following definitions in obj.conf of iplanet 4.1 SP11 under solaris
    5.7.
    <Object name="spotbid" ppath="*/spotbid/*">
    Service fn="wl_proxy" WebLogicHost="###.###.###.####" WebLogicPort="7012" DebugConf
    igInfo="ON"
    </Object>
    <Object name="old" ppath="*">
    Service fn="wl_proxy" WebLogicHost="###.###.###.####" WebLogicPort="8009" DebugConf
    igInfo="ON"
    </Object>
    The problem:
    Every single request goes to the spotbid even if the request does not go to start
    with /spotbid. For example: http://host/foo will go to port 7012, instead of 8009.
    If I change from ppath="*/spotbid/*" to ppath="*/nothing/*"
    it works as excepted.
    "spotbid" is the user iplanet runs under. It is also the first directory in the
    path to iplanet "/spotbid/.../iplanet4/https-proxy"
    I have tried this with the proxy plugins from weblogic 5.1 and 6.1 and both exhibit
    the same problem.

    I tried myself with playing proxy settings of browser along with above configuration.Finally I got it.

  • Problem with File Based replication in Weblogic Express 10

    Hi,
              We have Web application (exploded war) file deployed on Weblogic Express 10, to a Cluster of three Managed Servers (all three on different physical machines).
              We are using File based session persistance in weblogic.xml
              We have a shared location for all the three servers where we will be sharing the Session data.
              When we start the application, its works fine and is very fast, but after sometime the application slows down.
              Troubleshooting the Issue we found that its a problem with file based replication. By using File based replication every user session is stored in form of directory inside shared directory. So after sometime thousands of directories are created inside the shared directory where the session information is stored. So when we access the application, its waiting for lot of time with Message Session Monitor .... (this is because its browsing through the shared session storage directory for lot of time for session information as it has lot of directories) and finally after a long time like 10 mins we get the Application Home Page.
              When we clean up all the saved sessions inside shared directory, the application works fine, But we will see the same sometime later may be after 3 or 4 hours when the shared session directory has lot of session information stored in it.
              Is there a way to clean up the saved session information on file system as soon as that user session is closed by using file based replication.
              We cannot used Inmemory replication as our Appl doesnt support it.
              Please advice as it is a major show stopper in our Production Mirror env.
              Weblogic Consultant

    It is possible to reduce number of live session by configuring very low timeout-secs weblogic.xml. Default is 60 minutes.
              More details are here..
              http://e-docs.bea.com/wls/docs100/webapp/weblogic_xml.html#wp1071982
              Jayesh
              Yagna Sys

  • WebLogic proxy plugin: getPooledConn: No more connections in the pool

    Hi,
    We have weblogic proxy plugin installed in Sun One web server. but frequently we are getting following errors in proxy log:
    <1670612410085901> attempt #0 out of a max of 5
    <1670612410085901> Trying a pooled connection for '<IP>/<port>/<port>'
    <1670612410085901> getPooledConn: No more connections in the pool for Host [<IP>] Port[<port>] SecurePort[<port>]
    Can anybody please tell how this proxy plugin manages connection pools? I don't find any minimum / maximum number of conection to mention anywhere or how exactly it works?

    Try increasing the "AcceptBackLog" settings on the weblogic server and then verify for any changed behavior.
    Raise the Accept Backlog value from the default by 25 percent. Continue increasing the value by 25 percent until the messages cease to appear.
    Link :[http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1136287]

  • IP address lost in Weblogic proxy plugin

              Hi,
              We have 4 web servers that forward requests for jsps to 10 weblogic instances
              working in a cluster. The web servers have IPlanet with weblogic proxy plugin.
              One of the jsps has logic to retrieve the client's IP address and then return
              the name of the country to which the IP address belongs. But since the jsp always
              receives requests from one of the 4 web servers on the same LAN, it gets only
              the internal IP address of the web server and returns no country code. To retrieve
              the IP address of the caller in the jsp, I'm using
              ipAddress = request.getRemoteAddr();
              How can I make my jsp know the actual source IP address of the client (i.e the
              end user)?
              Any help would be appreciated.
              Dipak Jha
              

    Try increasing the "AcceptBackLog" settings on the weblogic server and then verify for any changed behavior.
    Raise the Accept Backlog value from the default by 25 percent. Continue increasing the value by 25 percent until the messages cease to appear.
    Link :[http://e-docs.bea.com/wls/docs81/perform/WLSTuning.html#1136287]

  • BIG5 Problem with WebLogic Express 6.1

              Hi,
              I found some problem with Chinese Big5 when using JSP. All big5 code convert in
              a wrong format and can't view by browser.
              My server setting is:
              OS: Solaris 8
              Weblogic: Express 6.1
              JDK 1.3.1
              Anyone know how to solve this problem?
              I have tried different way like creating a new string in different encoding type.
              Actually the BIG5 work fine with Solaris 8, JDK1.2.2_05a and Weblogic 5.1. However
              I WEblogic 6.1 only support JDK1.3 or above. Anyone can help me out. Thanks.
              Pls email me at [email protected]
              

    The download binary is the same for WL Full version and WL Express. It's the
    license that matters. Contact BEA to obtain / buy a WL Express license.
    Ben
    "Rajendra" <[email protected]> wrote in message
    news:[email protected]..
    We have WebLogic 6.1 licensed software. I need to work with WebLogic
    Express.
    I installed on win2K using the installer available with the CD. Now, what
    exactly do I need to do (restricting license..) to work with WebLogic
    Express?
    I need this info urgently. Any help in this regard is greatlyappreciated.
    >
    Thanks
    Rajendra.
    "Michael" <[email protected]> wrote in message
    news:[email protected]..
    Hi.
    WebLogic Express is WebLogic Server with a different license that limits
    some of
    the WebLogic Server features, such as EJB. Downloading WLS effectively
    downloads
    WebLogic Express.
    Regards,
    Michael
    raj wrote:
    Hi,
    does anyone know if it's possible to download weblogic express 6.1 ? icouldn't
    find any link on the bea website.
    thanks
    Raj

  • Setup issues: Apache plugin for Weblogic

    Hi,
    I've spent couple of days without success trying to configure apache plugin for weblogic. I've configured in accordance with bea documentation and it works fine in windows environment but fails in Solaris 9.
    Plugin log file says it's processed the request successfully but I see error message in browser saying it can't find the jsp file. It works fine if I access the weblogic box directly without going through apache.
    I'm using Weblogic 8.1 SP2, single server.
    Please find below the messages appear in browser, plugin logs, and apache version.
    Thanks in advance for your help.
    ======================Browser Error Message================
    JSP Processing Error
    HTTP Error Code: 404
    Error Message:JSPG0036E: Failed to find resource /AppConsole/common/login.jsp
    Root Cause:java.io.FileNotFoundException: JSPG0036E: Failed to find resource /AppConsole/common/login.jsp     at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.findWrapper(JSPExtensionProcessor.java:246)     at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:228)     at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2841)     at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)     at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)     at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:201)     at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:103)     at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)     at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)     at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)     at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
    ======================Browser Error Message End================
    ==========Apache version============
    Please find apache version and plugin logs below:
    # ./apachectl -v
    Server version: IBM_HTTP_Server/6.0 Apache/2.0.47
    Server built: Nov 4 2004 09:58:18
    ==========Apache version End============
    =================Plugin Logs================
    ================New Request: [GET /AppConsole/ HTTP/1.1] =================
    Mon Jun 12 08:20:14 2006 INFO: SSL is not configured
    Mon Jun 12 08:20:14 2006 After trimming path: '/AppConsole/'
    Mon Jun 12 08:20:14 2006 The final request string is '/AppConsole/'
    Mon Jun 12 08:20:14 2006 SEARCHING id=[83.231.147.129:27110] from current ID=[83.231.147.129:27110]
    Mon Jun 12 08:20:14 2006 @@@FOUND...id=[83.231.147.129:27110], server_name=[83.231.147.65], server_port=[80]
    Mon Jun 12 08:20:14 2006 attempt #0 out of a max of 5
    Mon Jun 12 08:20:14 2006 general list: trying connect to '83.231.147.129'/27110/27110 at line 1981 for '/AppConsole/'
    Mon Jun 12 08:20:14 2006 INFO: New NON-SSL URL
    Mon Jun 12 08:20:14 2006 general list: trying connect to '83.231.147.129'/27110
    Mon Jun 12 08:20:14 2006 Hdrs from clnt:[Via]=[1.0 NMUKPER]
    Mon Jun 12 08:20:14 2006 Hdrs from clnt:[User-Agent]=[Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; NissanEurope; .NET CLR 1.0.3705)]
    Mon Jun 12 08:20:14 2006 Hdrs from clnt:[Accept]=[image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*]
    Mon Jun 12 08:20:14 2006 Hdrs from clnt:[Accept-Language]=[en-gb,fr;q=0.8,es;q=0.6,nl;q=0.4,ja;q=0.2]
    Mon Jun 12 08:20:14 2006 Hdrs from clnt:[Host]=[83.231.147.65]
    Mon Jun 12 08:20:14 2006 URL::sendHeaders(): meth='GET' file='/AppConsole/' protocol='HTTP/1.1'
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Via]=[1.0 NMUKPER]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[User-Agent]=[Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; NissanEurope; .NET CLR 1.0.3705)]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Accept]=[image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Accept-Language]=[en-gb,fr;q=0.8,es;q=0.6,nl;q=0.4,ja;q=0.2]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Host]=[83.231.147.65]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Connection]=[Keep-Alive]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[WL-Proxy-SSL]=[false]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[X-WebLogic-Force-JVMID]=[unset]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[WL-Proxy-Client-IP]=[62.172.128.4]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[Proxy-Client-IP]=[62.172.128.4]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[X-Forwarded-For]=[62.172.128.4]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[X-WebLogic-Request-ClusterInfo]=[true]
    Mon Jun 12 08:20:14 2006 Hdrs to WLS:[X-WebLogic-KeepAliveSecs]=[30]
    Mon Jun 12 08:20:14 2006 INFO: sysSend 639
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Date]=[Mon, 12 Jun 2006 07:20:14 GMT]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Location]=[http://83.231.147.65/AppConsole/common/login.jsp;jsessionid=ENVulmFw71QICHDuP5nSB8kRPe2teTcbjdBtwkjwSY96UxrHEYXr!-656182639!NONE]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Server]=[WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 with CR174792 CR173632 CR135189 CR134122 CR133071 CR132575 CR129505 CR129371 CR129122 CR128888 CR124746 CR124239 CR107373]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Content-Type]=[text/html]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Set-Cookie]=[JSESSIONID=ENVulmFw71QICHDuP5nSB8kRPe2teTcbjdBtwkjwSY96UxrHEYXr!-656182639!NONE; path=/]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[X-WebLogic-Cluster-Hash]=[mx4NFnJY0ypWiiF1G2lM080SToc]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[X-WebLogic-Cluster-List]=[-656182639!eus0000160.eu.verio.net!27110!-1]
    Mon Jun 12 08:20:14 2006 Hdrs from WLS:[Transfer-Encoding]=[chunked]
    Mon Jun 12 08:20:14 2006 parsed all headers OK
    Mon Jun 12 08:20:14 2006 Hdrs to client:[Date]=[Mon, 12 Jun 2006 07:20:14 GMT]
    Mon Jun 12 08:20:14 2006 Hdrs to client:[Location]=[http://83.231.147.65/AppConsole/common/login.jsp;jsessionid=ENVulmFw71QICHDuP5nSB8kRPe2teTcbjdBtwkjwSY96UxrHEYXr!-656182639!NONE]
    Mon Jun 12 08:20:14 2006 Hdrs to client:[Server]=[WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284 with CR174792 CR173632 CR135189 CR134122 CR133071 CR132575 CR129505 CR129371 CR129122 CR128888 CR124746 CR124239 CR107373]
    Mon Jun 12 08:20:14 2006 Hdrs to client:[Set-Cookie]=[JSESSIONID=ENVulmFw71QICHDuP5nSB8kRPe2teTcbjdBtwkjwSY96UxrHEYXr!-656182639!NONE; path=/]
    Mon Jun 12 08:20:14 2006 Hdrs to client:[X-WebLogic-Cluster-List]=[-656182639!eus0000160.eu.verio.net!27110!-1]
    Mon Jun 12 08:20:14 2006 canRecycle: conn=1 status=302 isKA=1 clen=-1 isCTE=1
    Mon Jun 12 08:20:14 2006 closeConnection in load_utils: deleting URL*
    Mon Jun 12 08:20:14 2006 request [AppConsole/] processed sucessfully..................
    =================Plugin Logs End================

    Yes it is IBM Http Server, but it works fine from Windows accessing the same weblogic server I'm trying to connect from Solaris.
    I see 500 error in the apache access log file.
    I've also tried with by setting "MaxRequestsPerChild" to 0 in the apache config file but no good.
    Please find below httpd.conf file content.
    ==============httpd.conf===============
    ServerName eus0000168.eu.verio.net
    # Based upon the NCSA server configuration files originally by Rob McCool.
    # This is the main Apache server configuration file. It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
    # the directives.
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.
    # The configuration directives are grouped into three basic sections:
    # 1. Directives that control the operation of the Apache server process as a
    # whole (the 'global environment').
    # 2. Directives that define the parameters of the 'main' or 'default' server,
    # which responds to requests that aren't handled by a virtual host.
    # These directives also provide default values for the settings
    # of all virtual hosts.
    # 3. Settings for virtual hosts, which allow Web requests to be sent to
    # different IP addresses or hostnames and have them handled by the
    # same Apache server process.
    # Configuration and logfile names: If the filenames you specify for many
    # of the server's control files begin with "/" (or "drive:/" for Win32), the
    # server will use that explicit path. If the filenames do not begin
    # with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
    # with ServerRoot set to "/opt/IBMIHS" will be interpreted by the
    # server as "/opt/IBMIHS/logs/foo.log".
    ### Section 1: Global Environment
    # The directives in this section affect the overall operation of Apache,
    # such as the number of concurrent requests it can handle or where it
    # can find its configuration files.
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    # NOTE! If you intend to place this on an NFS (or otherwise network)
    # mounted filesystem then please read the LockFile documentation (available
    # at <URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>);
    # you will save yourself a lot of trouble.
    # Do NOT add a slash at the end of the directory path.
    ServerRoot "/opt/IBMIHS"
    # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
    #LockFile logs/accept.lock
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    PidFile logs/httpd.pid
    # Timeout: The number of seconds before receives and sends time out.
    Timeout 300
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    KeepAlive On
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    MaxKeepAliveRequests 100
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    KeepAliveTimeout 10
    ## Server-Pool Size Regulation (MPM specific)
    # worker MPM
    # ThreadLimit: maximum setting of ThreadsPerChild
    # ServerLimit: maximum setting of StartServers
    # StartServers: initial number of server processes to start
    # MaxClients: maximum number of simultaneous client connections
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule worker.c>
    #StartServers 5
    StartServers 1
    MaxClients 150
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 1000
    </IfModule>
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, in addition to the default. See also the <VirtualHost>
    # directive.
    # Change this to Listen on specific IP addresses as shown below to
    # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
    # Change this to "Listen 0.0.0.0:port" to restrict the server to
    # IPv4.
    #Listen 12.34.56.78:80
    Listen 80
    # Dynamic Shared Object (DSO) Support
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available before they are used.
    # Statically compiled modules (those listed by `httpd -l') do not need
    # to be loaded here.
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    LoadModule access_module modules/mod_access.so
    LoadModule auth_module modules/mod_auth.so
    #LoadModule auth_anon_module modules/mod_auth_anon.so
    LoadModule auth_dbm_module modules/mod_auth_dbm.so
    LoadModule include_module modules/mod_include.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule env_module modules/mod_env.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    LoadModule usertrack_module modules/mod_usertrack.so
    LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    #LoadModule proxy_module modules/mod_proxy.so
    #LoadModule proxy_connect_module modules/mod_proxy_connect.so
    #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    #LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule mime_module modules/mod_mime.so
    #LoadModule dav_module modules/mod_dav.so
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule asis_module modules/mod_asis.so
    #LoadModule info_module modules/mod_info.so
    LoadModule cgid_module modules/mod_cgid.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule imap_module modules/mod_imap.so
    LoadModule actions_module modules/mod_actions.so
    #LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule rewrite_module modules/mod_rewrite.so
    #LoadModule deflate_module modules/mod_deflate.so
    # ExtendedStatus controls whether Apache will generate "full" status
    # information (ExtendedStatus On) or just basic information (ExtendedStatus
    # Off) when the "server-status" handler is called. The default is Off.
    #LoadModule status_module modules/mod_status.so
    <IfModule mod_status.c>
    ExtendedStatus On
    </IfModule>
    ### Section 2: 'Main' server configuration
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition. These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    # If you wish httpd to run as a different user or group, you must run
    # httpd as root initially and it will switch.
    # User/Group: The name (or #number) of the user/group to run httpd as.
    # . On SCO (ODT 3) use "User nouser" and "Group nogroup".
    # . On HPUX you may not be able to use shared memory as nobody, and the
    # suggested workaround is to create a user www and use that user.
    # NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
    # when the value of (unsigned)Group is above 60000;
    # don't use Group #-1 on these systems!
    User nobody
    Group nobody
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed. This address appears on some server-generated pages, such
    # as error documents. e.g. [email protected]
    ServerAdmin [email protected]
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    # If this is not set to valid DNS name for your host, server-generated
    # redirections will not work. See also the UseCanonicalName directive.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    # You will have to access it by its address anyway, and this will make
    # redirections work in a sensible way.
    #ServerName new.host.name:80
    # UseCanonicalName: Determines how Apache constructs self-referencing
    # URLs and the SERVER_NAME and SERVER_PORT variables.
    # When set "Off", Apache will use the Hostname and Port supplied
    # by the client. When set "On", Apache will use the value of the
    # ServerName directive.
    UseCanonicalName Off
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #DocumentRoot "/opt/IBMIHS/htdocs/en_US"
    #DocumentRoot "/www/a"
    # Each directory to which Apache has access can be configured with respect
    # to which services and features are allowed and/or disabled in that
    # directory (and its subdirectories).
    # First, we configure the "default" to be a very restrictive set of
    # features.
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    # This should be changed to whatever you set DocumentRoot to.
    <Directory "/opt/IBMIHS/htdocs/en_US">
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI Multiviews
    # Note that "MultiViews" must be named explicitly --- "Options All"
    # doesn't give it to you.
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs-2.0/mod/core.html#options
    # for more information.
    Options Indexes FollowSymLinks
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    AllowOverride None
    # Controls who can get stuff from this server.
    Order allow,deny
    Allow from all
    </Directory>
    # UserDir: The name of the directory that is appended onto a user's home
    # directory if a ~user request is received.
    UserDir public_html
    # Control access to UserDir directories. The following is an example
    # for a site where these directories are restricted to read-only.
    #<Directory /home/*/public_html>
    # AllowOverride FileInfo AuthConfig Limit Indexes
    # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    # <Limit GET POST OPTIONS PROPFIND>
    # Order allow,deny
    # Allow from all
    # </Limit>
    # <LimitExcept GET POST OPTIONS PROPFIND>
    # Order deny,allow
    # Deny from all
    # </LimitExcept>
    #</Directory>
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    # The index.html.var file (a type-map) is used to deliver content-
    # negotiated documents. The MultiViews Option can be used for the
    # same purpose, but it is much slower.
    DirectoryIndex index.html index.html.var
    # AccessFileName: The name of the file to look for in each directory
    # for additional configuration directives. See also the AllowOverride
    # directive.
    AccessFileName .htaccess
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    <Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    </Files>
    # TypesConfig describes where the mime.types file (or equivalent) is
    # to be found.
    TypesConfig conf/mime.types
    # DefaultType is the default MIME type the server will use for a document
    # if it cannot otherwise determine one, such as from filename extensions.
    # If your server contains mostly text or HTML documents, "text/plain" is
    # a good value. If most of your content is binary, such as applications
    # or images, you may want to use "application/octet-stream" instead to
    # keep browsers from trying to display binary files as though they are
    # text.
    DefaultType text/plain
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type. The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    <IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
    </IfModule>
    # HostnameLookups: Log the names of clients or just their IP addresses
    # e.g., www.apache.org (on) or 204.62.129.132 (off).
    # The default is off because it'd be overall better for the net if people
    # had to knowingly turn this feature on, since enabling it means that
    # each client request will result in AT LEAST one lookup request to the
    # nameserver.
    HostnameLookups Off
    # EnableMMAP: Control whether memory-mapping is used to deliver
    # files (assuming that the underlying OS supports it).
    # The default is on; turn this off if you serve from NFS-mounted
    # filesystems. On some systems, turning it off (regardless of
    # filesystem) can improve performance; for details, please see
    # http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap
    # EnableMMAP off
    # EnableSendfile: Control whether the sendfile kernel support is
    # used to deliver files (assuming that the OS supports it).
    # The default is on; turn this off if you serve from NFS-mounted
    # filesystems. Please see
    # http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
    EnableSendfile off
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here. If you do define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog logs/error_log
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here. Contrariwise, if you do
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and not in this file.
    CustomLog logs/access_log common
    # If you would like to have agent and referer logfiles, uncomment the
    # following directives.
    #CustomLog logs/referer_log referer
    #CustomLog logs/agent_log agent
    # If you prefer a single logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #CustomLog logs/access_log combined
    # ServerTokens
    # This directive configures what you return as the Server HTTP response
    # Header. The default is 'Full' which sends information about the OS-Type
    # and compiled in modules.
    # Set to one of: Full | OS | Minor | Minimal | Major | Prod
    # where Full conveys the most information, and Prod the least.
    ServerTokens Prod
    # Optionally add a line containing the server version and virtual host
    # name to server-generated pages (internal error documents, FTP directory
    # listings, mod_status and mod_info output etc., but not CGI generated
    # documents or custom error documents).
    # Set to "EMail" to also include a mailto: link to the ServerAdmin.
    # Set to one of: On | Off | EMail
    ServerSignature Off
    # Aliases: Add here as many aliases as you need (with no limit). The format is
    # Alias fakename realname
    # Note that if you include a trailing / on fakename then the server will
    # require it to be present in the URL. So "/icons" isn't aliased in this
    # example, only "/icons/". If the fakename is slash-terminated, then the
    # realname must also be slash terminated, and if the fakename omits the
    # trailing slash, the realname must also omit it.
    # We include the /icons/ alias for FancyIndexed directory listings. If you
    # do not use FancyIndexing, you may comment this out.
    Alias /icons/ "/opt/IBMIHS/icons/"
    <Directory "/opt/IBMIHS/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the realname directory are treated as applications and
    # run by the server when requested rather than as documents sent to the client.
    # The same rules about trailing "/" apply to ScriptAlias directives as to
    # Alias.
    ScriptAlias /cgi-bin/ "/opt/IBMIHS/cgi-bin/"
    <IfModule mod_cgid.c>
    # Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>
    # for setting UNIX socket for communicating with cgid.
    #Scriptsock logs/cgisock
    </IfModule>
    # "/opt/IBMIHS/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    <Directory "/opt/IBMIHS/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    </Directory>
    # Redirect allows you to tell clients about documents which used to exist in
    # your server's namespace, but do not anymore. This allows you to tell the
    # clients where to look for the relocated document.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar
    # Directives controlling the display of server-generated directory listings.
    # IndexOptions: Controls the appearance of server-generated directory
    # listings.
    IndexOptions FancyIndexing VersionSort
    # AddIcon* directives tell the server which icon to show for different
    # files or filename extensions. These are only displayed for
    # FancyIndexed directories.
    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*
    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core
    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^
    # DefaultIcon is which icon to show for files which do not have an icon
    # explicitly set.
    DefaultIcon /icons/unknown.gif
    # AddDescription allows you to place a short description after a file in
    # server-generated indexes. These are only displayed for FancyIndexed
    # directories.
    # Format: AddDescription "description" filename
    #AddDescription "GZIP compressed document" .gz
    #AddDescription "tar archive" .tar
    #AddDescription "GZIP compressed tar archive" .tgz
    # ReadmeName is the name of the README file the server will look for by
    # default, and append to directory listings.
    # HeaderName is the name of a file which should be prepended to
    # directory indexes.
    ReadmeName README.html
    HeaderName HEADER.html
    # IndexIgnore is a set of filenames which directory indexing should ignore
    # and not include in the listing. Shell-style wildcarding is permitted.
    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
    # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
    # information on the fly. Note: Not all browsers support this.
    # Despite the name similarity, the following Add* directives have nothing
    # to do with the FancyIndexing customization directives above.
    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz
    # AddType allows you to add to or override the MIME configuration
    # file mime.types for specific file types.
    AddType application/x-tar .tgz
    AddType image/x-icon .ico
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #AddHandler cgi-script .cgi
    # For files that include their own HTTP headers:
    #AddHandler send-as-is asis
    # For server-parsed imagemap files:
    #AddHandler imap-file map
    # For type maps (negotiated resources):
    # (This is enabled by default to allow the Apache "It Worked" page
    # to be distributed in multiple languages.)
    AddHandler type-map var
    # Filters allow you to process content before it is sent to the client.
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
    # Action lets you define media types that will execute a script whenever
    # a matching file is called. This eliminates the need for repeated URL
    # pathnames for oft-used CGI file processors.
    # Format: Action media/type /cgi-script/location
    # Format: Action handler-name /cgi-script/location
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    # Putting this all together, we can internationalize error responses.
    # We use Alias to redirect any /error/HTTP_<error>.html.var response to
    # our collection of by-error message multi-language collections. We use
    # includes to substitute the appropriate text.
    # You can modify the messages' appearance without changing any of the
    # default HTTP_<error>.html.var files by adding the line:
    # Alias /error/include/ "/your/include/path/"
    # which allows you to create your own set of files by starting with the
    # /opt/IBMIHS/error/include/ files and copying them to /your/include/path/,
    # even on a per-VirtualHost basis. The default include files will display
    # your Apache version number and your ServerAdmin email address regardless
    # of the setting of ServerSignature.
    # The internationalized error documents require mod_alias, mod_include
    # and mod_negotiation. To activate them, uncomment the following 30 lines.
    # Alias /error/ "/opt/IBMIHS/error/"
    # <Directory "/opt/IBMIHS/error">
    # AllowOverride None
    # Options IncludesNoExec
    # AddOutputFilter Includes html
    # AddHandler type-map var
    # Order allow,deny
    # Allow from all
    # LanguagePriority en de es fr it nl sv
    # ForceLanguagePriority Prefer Fallback
    # </Directory>
    # ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    # ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    # ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    # ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    # ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    # ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    # ErrorDocument 410 /error/HTTP_GONE.html.var
    # ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    # ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    # ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    # ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    # ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    # ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    # ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    # ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    # ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    # ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
    # The following directives modify normal HTTP response behavior to
    # handle known problems with browser implementations.
    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0
    # The following directive disables redirects on non-GET requests for
    # a directory that does not include the trailing slash. This fixes a
    # problem with Microsoft WebFolders which does not appropriately handle
    # redirects for folders with DAV methods.
    # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
    BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
    BrowserMatch "^WebDrive" redirect-carefully
    BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
    BrowserMatch "^gnome-vfs" redirect-carefully
    # Allow server status reports generated by mod_status,
    # with the URL of http://servername/server-status
    # Change the ".example.com" to match your domain to enable.
    #<Location /server-status>
    # SetHandler server-status
    # Order deny,allow
    # Deny from all
    # Allow from .example.com
    #</Location>
    # Allow remote server configuration reports, with the URL of
    # http://servername/server-info (requires that mod_info.c be loaded).
    # Change the ".example.com" to match your domain to enable.
    #<Location /server-info>
    # SetHandler server-info
    # Order deny,allow
    # Deny from all
    # Allow from .example.com
    #</Location>
    # Proxy Server directives. Uncomment the following lines to
    # enable the proxy server:
    #<IfModule mod_proxy.c>
    #Enable the forward proxy server. Note: Do not use the ProxyRequests directive if
    #all you require is reverse proxy.
    #ProxyRequests On
    #<Proxy *>
    # Order deny,allow
    # Deny from all
    # Allow from .example.com
    #</Proxy>
    # Enable/disable the handling of HTTP/1.1 "Via:" headers.
    # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
    # Set to one of: Off | On | Full | Block
    #ProxyVia On
    #</IfModule>
    # End of proxy directives.
    ### Section 3: Virtual Hosts
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn't need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    # Please see the documentation at
    # <URL:http://httpd.apache.org/docs-2.0/vhosts/>
    # for further details before you try to setup virtual hosts.
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    # Use name-based virtual hosting.
    #NameVirtualHost *
    NameVirtualHost 83.231.147.65:80
    <VirtualHost 83.231.147.65:80>
    ServerName eus0000168
    DocumentRoot "/www/a/global/nissan-europe"
    RewriteEngine on
    RewriteLogLevel 0
    RewriteOptions inherit
    #--RAM----
    LoadModule weblogic_module modules/mod_wl_20.so
    Debug ALL
    WLLogFile "/logs/apache2/wllog.log"
    StatPath true
    DebugConfigInfo On
    KeepAliveEnabled ON
    <IfModule mod_weblogic.c>
    WebLogicHost 83.231.147.129
    #WebLogicHost eus0000160
    #WebLogicCluster eus0000160.eu.verio.net:27110,eus0000160.eu.verio.net:27001
    WebLogicPort 27110
    </IfModule>
    DynamicServerList OFF
         <Location /AppConsole>
         SetHandler weblogic-handler
         </Location>
    <Location /console>
    SetHandler weblogic-handler
    </Location>
    <Location /HTTPClnt>
    SetHandler weblogic-handler
    </Location>
    <Location /iiop>
    SetHandler weblogic-handler
    </Location>
    #------RAM------
    Alias /data "/www/a/data"
    Alias /at "/www/a/at"
    Alias /ch "/www/a/ch"
    Alias /ch_fr "/www/a/ch/ch_FR"
    Alias /ch_de "/www/a/ch/ch_DE"
    Alias /de "/www/a/de"
    Alias /es "/www/a/es"
    Alias /fr "/www/a/fr"
    Alias /it "/www/a/it"
    Alias /nl "/www/a/nl"
    Alias /se "/www/a/se"
    Alias /tr "/www/a/tr"
    Alias /uk "/www/a/uk"
    Alias /cz "/www/a/cz"
    Alias /hu "/www/a/hu"
    Alias /sk "/www/a/sk"
    Alias /global "/www/a/global"
    Alias /dk "/www/a/dk"
    Alias /fi "/www/a/fi"
    Alias /no "/www/a/no"
    Alias /pl "/www/a/pl"
    Alias /pt "/www/a/pt"
    ErrorDocument 404 /error404.html
    ErrorDocument 500 /error.html
    </VirtualHost>
    Include conf/virtual-hosts/
    CoreDumpDirectory /logs/apache2
    LoadModule was_ap20_module /opt/IBM/WebSphere/Plugins/bin/mod_was_ap20_http.so
    WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml
    LoadModule weblogic_module modules/mod_wl_20.so
    Debug ALL
    WLLogFile "/logs/apache2/wllog.log"
    StatPath true
    DebugConfigInfo ON
    KeepAliveEnabled ON
    <IfModule mod_weblogic.c>
    WebLogicHost 83.231.147.129
    WebLogicPort 27110
    </IfModule>
    CoreDumpDirectory /logs/apache2
    D

  • Load balancing by the proxy plugin

    Has anyone encountered this before:
    I have a cluster of two WLS 5.1 servers, hosting servlets that serve web
    requests. The requests are proxied through a web server ( I have tried
    Weblogic, Apache as well as IIS). I also have a tool that simulates
    concurrent web requests and fires them to the proxy server.
    As per documentation, as the load balancing while proxying requests to
    servlets is round robin, I expect that the requests are uniformly
    distributed across the two weblogic servers. But what I see is a bit
    different. In one case I fired 15 requests and found that 11 went to first
    server and 4 went to the other.
    Second time when I fired again 2 of them went to the first server and 13 to
    the second one. I would expect that around half of the total requests
    should be routed to each server everytime so that there is a proper load
    balancing done by the proxy. I have not changed any configuration related
    to the default load balancing algorithm. So I expect it is round-robin.
    Has anyone encountered this before ? This happens to me irrespective of
    which proxy server I use (i.e which proxy plugin I use). Is there some
    other configuration required and I am missing something or is there some
    inherent problem with the load balancing of the proxy plugins. Any info
    would be highly appreciated.
    Thanks
    Mainak

    Could you post this in weblogic.developer.interest.plug-in? This group is for
    ejb related questions. Thanks.
    Bill
    Mainak Datta wrote:
    Has anyone encountered this before:
    I have a cluster of two WLS 5.1 servers, hosting servlets that serve web
    requests. The requests are proxied through a web server ( I have tried
    Weblogic, Apache as well as IIS). I also have a tool that simulates
    concurrent web requests and fires them to the proxy server.
    As per documentation, as the load balancing while proxying requests to
    servlets is round robin, I expect that the requests are uniformly
    distributed across the two weblogic servers. But what I see is a bit
    different. In one case I fired 15 requests and found that 11 went to first
    server and 4 went to the other.
    Second time when I fired again 2 of them went to the first server and 13 to
    the second one. I would expect that around half of the total requests
    should be routed to each server everytime so that there is a proper load
    balancing done by the proxy. I have not changed any configuration related
    to the default load balancing algorithm. So I expect it is round-robin.
    Has anyone encountered this before ? This happens to me irrespective of
    which proxy server I use (i.e which proxy plugin I use). Is there some
    other configuration required and I am missing something or is there some
    inherent problem with the load balancing of the proxy plugins. Any info
    would be highly appreciated.
    Thanks
    Mainak

  • Web Proxying to a WebLogic Cluster using the HTTPS protocol

    Hi all,
    I am recently involved into JWS proxying to WebLogic Cluster.
    I don't have any technical problems at the moment but "conceptual" problems, that is:
    - my jws proxy server should connect to a WebLogic Cluster through a Bea plugin configured wish SSL parameters;
    - my jws proxy server should pass the incoming request using a load-balancing algorithm among the two nodes of the cluster, that are actually installed on two different machines;
    - the jws proxy server doesn't seem to accept multiple certificates.
    My question is: how can I configure my proxy plugin to route the incoming requests to my WebLogic Cluster using the https protocol? As a matter of fact, each certificate should be hostname dependent, and it looks like that the proxy plugin doesn't accept a multiple certificate configuration (and it should actually match the CN entry in the certificates with the actual hostnames of the nodes).
    Any hint?
    Thx a lot,
    Luca

    It is supported in 5.2
              - Prasad
              Wei Guan wrote:
              > As I knew of, secure proxying is not supported yet.
              > --
              > Cheers - Wei
              > Bob Kiep <[email protected]> wrote in message
              > news:8bvvc7$7uf$[email protected]..
              > > The NSAPI plugin cannot perform SSL proxying, as documented at the bottom
              > of
              > > this message (taken from
              > > http://www.weblogic.com/docs/admindocs/nsapi.html#background). When
              > > Weblogic is the proxy, can I do SSL? If someone could send me the link to
              > > where is states whether is SSL or not would be very helpful.
              > >
              > > "The plug-in is for an environment where NES serves static pages, and a
              > > Weblogic Server (operating in a different process, possibly on a different
              > > host) is delegated to serve dynamic pages (such as JSPs or pages generated
              > > by HTTP Servlets). The connection between WebLogic Server and the NSAPI
              > > plug-in is clear text http, not SSL. To the end user -- the browser -- the
              > > HTTP requests delegated to WebLogic appear to come from the same source as
              > > the static pages. In other words, WebLogic on the back-end is invisible.
              > > Additionally, the HTTP-tunneling facility of the WebLogic client-server
              > > protocol can operate through the plug-in, providing access to all WebLogic
              > > services (not just dynamic pages). "
              > >
              > >
              Cheers
              - Prasad
              

  • Reverse Proxy Plugin finer tuning

    Hi
    I have successfully setup the Web Reverse Proxy Plugin to remap the Messging Express part of uwc on the the same port.
    With (obj.conf):
    NameTrans fn="assign-name" from="/uwc(|/*)" name="uwc"
    NameTrans fn="assign-name" from="/*" name="messengerXpress"
    and:
    <object name="uwc">
    ObjectType fn="check-passthrough" type="magnus-internal/passthrough"
    </object>
    <object name="messengerXpress">
    Service fn="service-passthrough" servers="https://www.domain.com:8443"
    </object>
    It works well: when users ask for www.domain.com/uwc it just gets the normal uwc pages and when users asks anything else, it gets redirected to the webmail port of Messing Express.
    The little problem is with user that only type the first part of the url to find the login page, asking the doc root of the web server because they forget, i.e:
    https://www.domain.com
    their request gets remapped to the webmail LOGIN of Messaging Express instead:
    https://www.domain.com:8443
    They do not distinguish they are not on the Communication Express login page and the login is successful. They are now in the Messaing Express only application and do not understand why it looks so different and where is the Calendar.
    My question is how to change obj.conf rules to not come to the login page of the Messing Express when the base doc root is asked for, like: https://www.domain.com, and when the above changes in the obj.conf are made.
    I tried to put a redirect in the index.html, to go to the /uwc URI, but then this makes an infinite loop when accessing /
    I also would like to redirect non ssl http url to https ones.
    I found redirect/rewrite rules in obj.conf hard to understand and the doc does say too much. I would love to find more through example on this particular subject.
    Best regards
    Fran�ois

    Alas, I'm totally ignorant when it comes to working with a web server ...
    maybe one of our other folk will know, and be able to help.

  • Oracle Proxy Plugin - IIS - Certificates

    I have a setup where IIS fronts for Oracle Application Server using the Oracle Proxy Plugin. I understand this is fairly routine, however; I have run into a situation where I need Client Certificate information pushed back to a single application on the Oracle Server. According to documentation, the plugin does not backend requests SSL even in an SSL environment. This effectively blocks certificate information from anything sitting behind the plugin. Has anyone found or created a clean workaround/alternative solution to this problem? Unfortunately, IIS has to remain in front and Oracle has to remain behind.

    All,
    Solved it myself and it works with OC4J only.
    Regards,
    MB

  • Installing and Configuring Microsoft IIS plugin for weblogic server

    Hi guys,
    I want to navigate from "a page in website hosted on IIS" to "a page in application hosted on weblogic". I found out that there is a plugin for Microsoft IIS that can proxy requests to weblogic server. The documentation of the plugin can be found on the following address:
    Webserver plugin
    I want to know about the configuration of machines. Can IIS and weblogic be on the same machine or different machines????  Where i have to install the plugin????
    I am not able to find this in the above documentation.
    My environment is:
    1) Weblogic Server 10.3.5 installed on windows server 2012.
    2) Forms and Reports 11gR2 are installed on this weblogic server
    3) Apex Listener is also installed on the weblogic which communicates with a different db server.
    4) I also want to install JDeveloper and ADF on the same weblogic server and call applications developed in ADF (like jsp page) from Microsoft IIS website.
    Please help me and give me suggestions.
    Regards,
    Waqas

    There is a free ebook here:
    http://www.microsoft.com/en-us/download/details.aspx?id=30384
    It's also the title of a section of technet but that's not available in printed format as far as i know.
    http://technet.microsoft.com/en-us/library/cc262957.aspx

  • Writing a plugin for Weblogic

    Hi,
    Is it possible to add a mechanism to Weblogic which would intercept
    EJB lookups and requests (on a per bean and per method basis), and
    perform custom access control logic? This mechanism should be seamless
    and transparent to client code so that existing apps would not have to
    be modified. In effect, I would like to create a plugin for Weblogic
    in much the same way as you can create a plugin for web servers like
    Apache, IIS, etc.
    Alternatively, if this effect could be achieved simply through
    configuration changes, then even better. Customized security realms do
    not exactly fit what I want to do because they have to be manually
    created per client, and I would also like to perform additional logic
    besides access control.
    Thanks in advance,
    Steve Au

    Wouldn't EJB clients have to be rewritten to access this proxy bean instead? What
    would prevent clients from accessing the "secured" EJBs directly?
    Thanks.
    "Michael Girdley" <----> wrote:
    We do not offer such an interface natively to write your own security
    interceptors. But, I can imagine someone writing a session bean proxy
    that
    intercept all EJB calls in this way before forwarding them along.
    We plan to offer such functionality in a future release without requiring
    any kludges.
    Michael Girdley
    BEA Systems
    Learning WebLogic? http://learnweblogic.com
    Buy the only book covering J2EE & WebLogic 6:
    http://www.amazon.com/exec/obidos/ASIN/0130911119/learnweblogic/103-9227026-
    4636613
    "Steve Au" <[email protected]> wrote in message
    news:[email protected]..
    Hi,
    Is it possible to add a mechanism to Weblogic which would intercept
    EJB lookups and requests (on a per bean and per method basis), and
    perform custom access control logic? This mechanism should be seamless
    and transparent to client code so that existing apps would not haveto
    be modified. In effect, I would like to create a plugin for Weblogic
    in much the same way as you can create a plugin for web servers like
    Apache, IIS, etc.
    Alternatively, if this effect could be achieved simply through
    configuration changes, then even better. Customized security realmsdo
    not exactly fit what I want to do because they have to be manually
    created per client, and I would also like to perform additional logic
    besides access control.
    Thanks in advance,
    Steve Au

  • Netscape or Apache plugin for WebLogic

    Hi,
    The Netscape plugin for WebLogic is mentioned many time in on-line
    documents for WebLogic servers. However, I can't find any information
    with regard to how the plug-in is distributed, licensed. Could someone
    please tell me if it is bundled in the server download? How do I install
    this thing? Is there Apache plugin for Solaris platform?
    Thank you,
    Wayne
    Wayne Wei-Zhong He, Ph.D.
    Sr. Biomed Engineer, Emerging Technology
    Incyte Pharmaceuticals Inc.
    650-845-5784 (direct) / 650-621-8655 (fax)

    Hi, Michael,
    Thanks for help. I found the documentation and installed the
    libproxy.so. However, the server reported internal error when I tried to
    use it. Do you have any idea what I did wrong?
    The following were added to obj.conf :
    Init fn="load-modules" funcs="wl-proxy,wl-init" \
    shlib="/home/ns-home/plugins/weblogic/libproxy.so"
    Init fn="wl-init"
    <Object name="weblogic" ppath="*/weblogic/*">
    Service fn=wl-proxy WebLogicHost=hercules.incyte.com \
    WebLogicPort=7001 PathTrim="/weblogic"
    </Object>
    error log says:
    [20/Apr/2000:17:56:06] info (18864): successful server startup
    [20/Apr/2000:17:56:06] info (18864): Netscape-Enterprise/3.6 SP2
    B99.113.0837
    [20/Apr/2000:17:56:06] verbose (18864): dstats: Using slotbase = 0 start
    = 0 end = 1024 last = 0 slots pid = 18864
    [20/Apr/2000:17:56:28] config (18864): for host 10.49.2.229 trying to
    GET /weblogic/index.html, func_exec reports: no handler function given
    for directive
    Thanks,
    Wayne
    Michael Girdley wrote:
    >
    That is the correct one. You should refer to be documentation on installing
    our plug-ins.
    Michael Girdley
    WLS Product Manager
    Wayne He <[email protected]> wrote in message
    news:[email protected]...
    Hi, Micheal,
    Thank you very much. I found them. They are all *.dll files. I seems to
    have the impression that BEA support both NT and solaris. Keep looking
    I also found a file called libproxy.so in the weblogic/lib/solaris
    directory. Is this the one I need? If so, what do I need to do to
    install?
    Thanks,
    Wayne
    Wayne Wei-Zhong He, Ph.D.
    Sr. Biomed Engineer
    Incyte Pharmaceuticals Inc.
    650-845-5784 (direct) / 650-621-8655 (fax)
    Michael Girdley wrote:
    It is available in the Weblogic/bin directory in your distribution if I
    remember correctly.
    Michael Girdley
    WLS Product Manager
    Wayne He <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    The Netscape plugin for WebLogic is mentioned many time in on-line
    documents for WebLogic servers. However, I can't find any information
    with regard to how the plug-in is distributed, licensed. Could someone
    please tell me if it is bundled in the server download? How do I
    install
    this thing? Is there Apache plugin for Solaris platform?
    Thank you,
    Wayne
    Wayne Wei-Zhong He, Ph.D.
    Sr. Biomed Engineer, Emerging Technology
    Incyte Pharmaceuticals Inc.
    650-845-5784 (direct) / 650-621-8655 (fax)
    Wayne Wei-Zhong He, Ph.D.
    Sr. Biomed Engineer, Incyte Genomics Inc.
    650-845-5784 (direct) / 650-621-8655 (fax)

Maybe you are looking for