You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Matthew R. Hamilton" <ma...@sbcglobal.net> on 2004/03/02 16:13:13 UTC

[users@httpd] Apache 2.0.47 and WebSphere 5.1

I am currently in the process of migrating our WebSphere application servers
off of AS/400s and onto Linux servers.

The old system is WebSphere Application Server Advanced Edition 4.0.6 with IBM
HTTP Server 2.0.47.  The new system is WebSphere Application Server Network
Deployment 5.1 with Apache 2.0.47.

One of the applications makes use of both Redirect as well as AliasMatch
directives in the httpd.conf file to direct the user from one servlet to
another for single sign-on.  The application was originally written against WAS
3.5 and the html redirect was something they had to do in order for it to work
under WAS 4.0.6, as I was told because of the behavior of form login pages not
being visable outside of their web application.

The old system works just fine, with WebSphere handling all the servlet/jsp
requests and IBMHTTP handling all the .js, .css as well as images.  The new
system  isn't working as expected.  We are using the WebSphere plugin to inform
apache that WebSphere can handle the dynamic content.  When I access the web
application on the new system with the same AliasMatch and Redirect directives
active, apache never sends the servlet/.jsp requests to WebSphere and instead
trys to handle it.  When I comment out the AliasMatch directives, apache sends
the servlet/.jsp requests to WebSphere and they are processed there.  The only
additional thing is that the .css and .js files get 404 errors in the apache
access logs.

Below is my httpd.conf:
-------------------------------------------------------------------------------
### 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 "/opt/apache"
PidFile logs/httpd.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
StartServers         5
MinSpareServers      5
MaxSpareServers     10
MaxClients         150
MaxRequestsPerChild  0
Options -ExecCGI -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes
-MultiViews
Listen 10.0.8.17:80
ExtendedStatus On


### 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.
#

User nobody
Group #-1
ServerName mdwebdv1.mdscnet.com:80
UseCanonicalName Off


DocumentRoot
"/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war"


<Directory />
   Order Allow,Deny
   AllowOverride None
   Allow From all
</Directory>

<Directory
"/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war">
    Order Allow,Deny
    AllowOverride None
    Allow From all
</Directory>

<Directory
/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/>
   Order Allow,Deny
   AllowOverride None
   Allow From all
</Directory>

DirectoryIndex index.jsp index.html

TypesConfig conf/mime.types
DefaultType text/plain

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
# You need to enable mod_logio.c to use %I and %O
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O"
combinedio


# 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
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
CustomLog logs/access_log combined


ServerTokens Minimal
ServerSignature Off

# Directives controlling the display of server-generated directory listings.
# IndexOptions: Controls the appearance of server-generated directory
# listings.
#
IndexOptions -DescriptionWidth -FancyIndexing -FoldersFirst -IconsAreLinks
-IconHeight
IndexOptions -IconWidth -IgnoreClient -NameWidth -ScanHTMLTitles
IndexOptions -SuppressColumnSorting -SuppressDescription
IndexOptions -SuppressHTMLPreamble -SuppressIcon -SuppressLastModified
-SuppressRules
IndexOptions -SuppressSize -TrackModified -VersionSort


AddDefaultCharset ISO-8859-1

AddCharset ISO-8859-1  .iso8859-1  .latin1
AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
AddCharset ISO-8859-3  .iso8859-3  .latin3
AddCharset ISO-8859-4  .iso8859-4  .latin4
AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5        .Big5       .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251   .win-1251
AddCharset CP866       .cp866
AddCharset KOI8-r      .koi8-r .koi8-ru
AddCharset KOI8-ru     .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb
AddCharset utf-7       .utf7
AddCharset utf-8       .utf8
AddCharset big5        .big5 .b5
AddCharset EUC-TW      .euc-tw
AddCharset EUC-JP      .euc-jp
AddCharset EUC-KR      .euc-kr
AddCharset shift_jis   .sjis


# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
#AddType application/x-tar .tgz
#
# AddEncoding allows you to have certain browsers 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
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


# 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)
#
# 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


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


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 .mdscnet.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>



### 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.

NameVirtualHost 10.0.8.17:80


<VirtualHost 10.0.8.17:443>
   SetEnv HTTPS_PORT 443
</VirtualHost>
<VirtualHost 10.0.8.17:80>
   ServerName mdwebdv1.mdscnet.com
</VirtualHost>


Alias /images
/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/images
AliasMatch ^/home/(.*)
/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/$1
AliasMatch ^/login/(.*)
/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war/$1
AliasMatch ^/(.*)
/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/$1
RedirectMatch 301 ^/$ http://mdwebdv1.mdscnet.com/home

# Dynamic Shared Object (DSO) Support
LoadModule  was_ap20_module  /opt/WebSphere/AppServer/bin/mod_was_ap20_http.so
WebSpherePluginConfig
/opt/WebSphere/DeploymentManager/config/cells/plugin-cfg.xml
-------------------------------------------------------------------------------

The application consists of 2 web applications MayLogin and PortalHome and an
EJB.  The user is sent to /home if they don't have a login session.  The URI
/home is mapped to the webapp PortalHome and uses a .html file to redirect the
user to /login/index.jsp, which is located in the MayLogin webapp.  It is here
that the user authenticates and be sent to the PortalHome webapp.

I strongly belive that this is either an http configuration error, or it means
that I am going to have to do a little bit of hacking to get the application to
work the right way with WAS 5.1

I am wondering if anyone on this list has come across this before and can point
me in the correct direction.

I can send output of the http plugin log as well as apache access and error
logs if that will help out.


Thanks in advance
Matthew Hamilton
The May Department Stores

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache 2.0.47 and WebSphere 5.1

Posted by "Matthew R. Hamilton" <ma...@sbcglobal.net>.
Here is my plugin-config.xml file:
-------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>

<Config ASDisableNagle="false" AcceptAllContent="false" IISDisableNagle="false"
IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64">
   <Log LogLevel="Trace"
Name="/opt/WebSphere/DeploymentManager/logs/http_plugin.log"/>
   <Property Name="ESIEnable" Value="true"/>
   <Property Name="ESIMaxCacheSize" Value="1024"/>
   <Property Name="ESIInvalidationMonitor" Value="false"/>
   <VirtualHostGroup Name="default_host">
      <VirtualHost Name="*:9080"/>
      <VirtualHost Name="*:9443"/>
   </VirtualHostGroup>
   <VirtualHostGroup Name="portaldev">
      <VirtualHost Name="mdwebdv1.mdscnet.com:433"/>
      <VirtualHost Name="mdwebdv1.mdscnet.com:80"/>
      <VirtualHost Name="*/:80"/>
      <VirtualHost Name="*/:443"/>
   </VirtualHostGroup>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="dmgr_mdwebdv1Manager_Cluster" PostSizeLimit="-1"
RemoveSpecialHeaders="true" RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="mdwebdv1Manager_dmgr" WaitForContinue="false"/>
      <PrimaryServers>
         <Server Name="mdwebdv1Manager_dmgr"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="server1_mdwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="mdwebdv1_server1" WaitForContinue="false">
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9080"
Protocol="http"/>
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9443"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="mdwebdv1_server1"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="Corp_mdwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="mdwebdv1_Corp" WaitForContinue="false">
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9082"
Protocol="http"/>
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9445"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="mdwebdv1_Corp"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="Portal_mdwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="mdwebdv1_Portal" WaitForContinue="false">
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9081"
Protocol="http"/>
         <Transport Hostname="mdwebdv1.maycompany.com" Port="9444"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="mdwebdv1_Portal"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="server1_glwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="glwebdv1_server1" WaitForContinue="false">
         <Transport Hostname="glwebdv1.maycompany.com" Port="9080"
Protocol="http"/>
         <Transport Hostname="glwebdv1.maycompany.com" Port="9443"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="glwebdv1_server1"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="Hechts_glwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="glwebdv1_Hechts" WaitForContinue="false">
         <Transport Hostname="glwebdv1.maycompany.com" Port="9081"
Protocol="http"/>
         <Transport Hostname="glwebdv1.maycompany.com" Port="9444"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="glwebdv1_Hechts"/>
      </PrimaryServers>
   </ServerCluster>
   <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin"
Name="May_glwebdv1_Cluster" PostSizeLimit="-1" RemoveSpecialHeaders="true"
RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1"
Name="glwebdv1_May" WaitForContinue="false">
         <Transport Hostname="glwebdv1.maycompany.com" Port="9082"
Protocol="http"/>
         <Transport Hostname="glwebdv1.maycompany.com" Port="9445"
Protocol="https">
            <Property Name="keyring"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.kdb"/>
            <Property Name="stashfile"
Value="/opt/WebSphere/DeploymentManager/etc/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="glwebdv1_May"/>
      </PrimaryServers>
   </ServerCluster>
   <UriGroup Name="portaldev_Portal_mdwebdv1_Cluster_URIs">
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/SSOLogin"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/SSOLogin/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/*.jsp"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/*.jsv"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/*.jsw"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/j_security_check"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/login/ibm_security_logout"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/home"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/LdapUserServlet"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="*.jsp"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="*.jsv"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="*.jsw"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/j_security_check"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/ibm_security_logout"/>
   </UriGroup>
   <Route ServerCluster="Portal_mdwebdv1_Cluster"
UriGroup="portaldev_Portal_mdwebdv1_Cluster_URIs"
VirtualHostGroup="portaldev"/>
   <UriGroup Name="portaldev_Corp_mdwebdv1_Cluster_URIs">
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/qm/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid"
Name="/qmservlet/*"/>
   </UriGroup>
   <Route ServerCluster="Corp_mdwebdv1_Cluster"
UriGroup="portaldev_Corp_mdwebdv1_Cluster_URIs" VirtualHostGroup="portaldev"/>
   <RequestMetrics armEnabled="false" newBehavior="false" rmEnabled="false"
traceLevel="HOPS">
      <filters enable="false" type="URI">
         <filterValues enable="false" value="/servlet/snoop"/>
         <filterValues enable="false" value="/webapp/examples/HitCount"/>
      </filters>
      <filters enable="false" type="SOURCE_IP">
         <filterValues enable="false" value="255.255.255.255"/>
         <filterValues enable="false" value="254.254.254.254"/>
      </filters>
   </RequestMetrics>
</Config>
-------------------------------------------------------------------------

Matthew

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache 2.0.47 and WebSphere 5.1

Posted by Arno WAS <ar...@free.fr>.
This working is the normal one.

In plugin-cfg.xml, you have the path of your servlet.
For example /myapp/hello
When you request WWW/myapp/hello, Apache send the request at WebSphere

So If your Alias rewrite /myapp (in this example), all static file present in 
the .war directory will be serve but not the JSP and servlet because Apache 
will not send any request at WebSphere

One solution is to modify the deployment descriptor of your war 
by changing the servlet mapping (xml stanza) and reinstall it.


> Matthew R. Hamilton wrote:
> > I am currently in the process of migrating our WebSphere application
> > servers off of AS/400s and onto Linux servers.
> >
> > The old system is WebSphere Application Server Advanced Edition 4.0.6
> > with IBM HTTP Server 2.0.47.  The new system is WebSphere Application
> > Server Network Deployment 5.1 with Apache 2.0.47.
> >
> > One of the applications makes use of both Redirect as well as AliasMatch
> > directives in the httpd.conf file to direct the user from one servlet to
> > another for single sign-on.  The application was originally written
> > against WAS 3.5 and the html redirect was something they had to do in
> > order for it to work under WAS 4.0.6, as I was told because of the
> > behavior of form login pages not being visable outside of their web
> > application.
> >
> > The old system works just fine, with WebSphere handling all the
> > servlet/jsp requests and IBMHTTP handling all the .js, .css as well as
> > images.  The new system  isn't working as expected.  We are using the
> > WebSphere plugin to inform apache that WebSphere can handle the dynamic
> > content.  When I access the web application on the new system with the
> > same AliasMatch and Redirect directives active, apache never sends the
> > servlet/.jsp requests to WebSphere and instead trys to handle it.  When I
> > comment out the AliasMatch directives, apache sends the servlet/.jsp
> > requests to WebSphere and they are processed there.  The only additional
> > thing is that the .css and .js files get 404 errors in the apache access
> > logs.
> >
> > Below is my httpd.conf:
> > -------------------------------------------------------------------------
> >------ ### 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 "/opt/apache"
> > PidFile logs/httpd.pid
> > Timeout 300
> > KeepAlive On
> > MaxKeepAliveRequests 100
> > KeepAliveTimeout 15
> > StartServers         5
> > MinSpareServers      5
> > MaxSpareServers     10
> > MaxClients         150
> > MaxRequestsPerChild  0
> > Options -ExecCGI -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes
> > -MultiViews
> > Listen 10.0.8.17:80
> > ExtendedStatus On
> >
> >
> > ### 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.
> > #
> >
> > User nobody
> > Group #-1
> > ServerName mdwebdv1.mdscnet.com:80
> > UseCanonicalName Off
> >
> >
> > DocumentRoot
> > "/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/May
> >Login.war"
> >
> >
> > <Directory />
> >    Order Allow,Deny
> >    AllowOverride None
> >    Allow From all
> > </Directory>
> >
> > <Directory
> > "/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/May
> >Login.war"> Order Allow,Deny
> >     AllowOverride None
> >     Allow From all
> > </Directory>
> >
> > <Directory
> > /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/>
> >    Order Allow,Deny
> >    AllowOverride None
> >    Allow From all
> > </Directory>
> >
> > DirectoryIndex index.jsp index.html
> >
> > TypesConfig conf/mime.types
> > DefaultType text/plain
> >
> > 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
> > # You need to enable mod_logio.c to use %I and %O
> > #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"
> > %I %O" combinedio
> >
> >
> > # 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
> > #CustomLog logs/referer_log referer
> > #CustomLog logs/agent_log agent
> > CustomLog logs/access_log combined
> >
> >
> > ServerTokens Minimal
> > ServerSignature Off
> >
> > # Directives controlling the display of server-generated directory
> > listings. # IndexOptions: Controls the appearance of server-generated
> > directory # listings.
> > #
> > IndexOptions -DescriptionWidth -FancyIndexing -FoldersFirst
> > -IconsAreLinks -IconHeight
> > IndexOptions -IconWidth -IgnoreClient -NameWidth -ScanHTMLTitles
> > IndexOptions -SuppressColumnSorting -SuppressDescription
> > IndexOptions -SuppressHTMLPreamble -SuppressIcon -SuppressLastModified
> > -SuppressRules
> > IndexOptions -SuppressSize -TrackModified -VersionSort
> >
> >
> > AddDefaultCharset ISO-8859-1
> >
> > AddCharset ISO-8859-1  .iso8859-1  .latin1
> > AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
> > AddCharset ISO-8859-3  .iso8859-3  .latin3
> > AddCharset ISO-8859-4  .iso8859-4  .latin4
> > AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
> > AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
> > AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
> > AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
> > AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
> > AddCharset ISO-2022-JP .iso2022-jp .jis
> > AddCharset ISO-2022-KR .iso2022-kr .kis
> > AddCharset ISO-2022-CN .iso2022-cn .cis
> > AddCharset Big5        .Big5       .big5
> > # For russian, more than one charset is used (depends on client, mostly):
> > AddCharset WINDOWS-1251 .cp-1251   .win-1251
> > AddCharset CP866       .cp866
> > AddCharset KOI8-r      .koi8-r .koi8-ru
> > AddCharset KOI8-ru     .koi8-uk .ua
> > AddCharset ISO-10646-UCS-2 .ucs2
> > AddCharset ISO-10646-UCS-4 .ucs4
> > AddCharset UTF-8       .utf8
> >
> > AddCharset GB2312      .gb2312 .gb
> > AddCharset utf-7       .utf7
> > AddCharset utf-8       .utf8
> > AddCharset big5        .big5 .b5
> > AddCharset EUC-TW      .euc-tw
> > AddCharset EUC-JP      .euc-jp
> > AddCharset EUC-KR      .euc-kr
> > AddCharset shift_jis   .sjis
> >
> >
> > # AddType allows you to add to or override the MIME configuration
> > # file mime.types for specific file types.
> > #
> > #AddType application/x-tar .tgz
> > #
> > # AddEncoding allows you to have certain browsers 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
> > #
> > # If the AddEncoding directives above are commented-out, then you
> > # probably should define those extensions to indicate media types:
> > #
> > AddType application/x-compress .Z
> > AddType application/x-gzip .gz .tgz
> >
> >
> > # 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)
> > #
> > # 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
> >
> >
> > 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
> >
> >
> > 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 .mdscnet.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>
> >
> >
> >
> > ### 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.
> >
> > NameVirtualHost 10.0.8.17:80
> >
> >
> > <VirtualHost 10.0.8.17:443>
> >    SetEnv HTTPS_PORT 443
> > </VirtualHost>
> > <VirtualHost 10.0.8.17:80>
> >    ServerName mdwebdv1.mdscnet.com
> > </VirtualHost>
> >
> >
> > Alias /images
> > /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/Port
> >alHome.war/images AliasMatch ^/home/(.*)
> > /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/Port
> >alHome.war/$1 AliasMatch ^/login/(.*)
> > /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayL
> >ogin.war/$1 AliasMatch ^/(.*)
> > /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/Port
> >alHome.war/$1 RedirectMatch 301 ^/$ http://mdwebdv1.mdscnet.com/home
> >
> > # Dynamic Shared Object (DSO) Support
> > LoadModule  was_ap20_module 
> > /opt/WebSphere/AppServer/bin/mod_was_ap20_http.so WebSpherePluginConfig
> > /opt/WebSphere/DeploymentManager/config/cells/plugin-cfg.xml
> > -------------------------------------------------------------------------
> >------
> >
> > The application consists of 2 web applications MayLogin and PortalHome
> > and an EJB.  The user is sent to /home if they don't have a login
> > session.  The URI /home is mapped to the webapp PortalHome and uses a
> > .html file to redirect the user to /login/index.jsp, which is located in
> > the MayLogin webapp.  It is here that the user authenticates and be sent
> > to the PortalHome webapp.
> >
> > I strongly belive that this is either an http configuration error, or it
> > means that I am going to have to do a little bit of hacking to get the
> > application to work the right way with WAS 5.1
> >
> > I am wondering if anyone on this list has come across this before and can
> > point me in the correct direction.
> >
> > I can send output of the http plugin log as well as apache access and
> > error logs if that will help out.
> >
> >
> > Thanks in advance
> > Matthew Hamilton
> > The May Department Stores
>
> What does your plugin-cfg.xml file look like?


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache 2.0.47 and WebSphere 5.1

Posted by Aaron W Morris <aa...@mindspring.com>.
Matthew R. Hamilton wrote:

> I am currently in the process of migrating our WebSphere application servers
> off of AS/400s and onto Linux servers.
> 
> The old system is WebSphere Application Server Advanced Edition 4.0.6 with IBM
> HTTP Server 2.0.47.  The new system is WebSphere Application Server Network
> Deployment 5.1 with Apache 2.0.47.
> 
> One of the applications makes use of both Redirect as well as AliasMatch
> directives in the httpd.conf file to direct the user from one servlet to
> another for single sign-on.  The application was originally written against WAS
> 3.5 and the html redirect was something they had to do in order for it to work
> under WAS 4.0.6, as I was told because of the behavior of form login pages not
> being visable outside of their web application.
> 
> The old system works just fine, with WebSphere handling all the servlet/jsp
> requests and IBMHTTP handling all the .js, .css as well as images.  The new
> system  isn't working as expected.  We are using the WebSphere plugin to inform
> apache that WebSphere can handle the dynamic content.  When I access the web
> application on the new system with the same AliasMatch and Redirect directives
> active, apache never sends the servlet/.jsp requests to WebSphere and instead
> trys to handle it.  When I comment out the AliasMatch directives, apache sends
> the servlet/.jsp requests to WebSphere and they are processed there.  The only
> additional thing is that the .css and .js files get 404 errors in the apache
> access logs.
> 
> Below is my httpd.conf:
> -------------------------------------------------------------------------------
> ### 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 "/opt/apache"
> PidFile logs/httpd.pid
> Timeout 300
> KeepAlive On
> MaxKeepAliveRequests 100
> KeepAliveTimeout 15
> StartServers         5
> MinSpareServers      5
> MaxSpareServers     10
> MaxClients         150
> MaxRequestsPerChild  0
> Options -ExecCGI -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes
> -MultiViews
> Listen 10.0.8.17:80
> ExtendedStatus On
> 
> 
> ### 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.
> #
> 
> User nobody
> Group #-1
> ServerName mdwebdv1.mdscnet.com:80
> UseCanonicalName Off
> 
> 
> DocumentRoot
> "/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war"
> 
> 
> <Directory />
>    Order Allow,Deny
>    AllowOverride None
>    Allow From all
> </Directory>
> 
> <Directory
> "/opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war">
>     Order Allow,Deny
>     AllowOverride None
>     Allow From all
> </Directory>
> 
> <Directory
> /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/>
>    Order Allow,Deny
>    AllowOverride None
>    Allow From all
> </Directory>
> 
> DirectoryIndex index.jsp index.html
> 
> TypesConfig conf/mime.types
> DefaultType text/plain
> 
> 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
> # You need to enable mod_logio.c to use %I and %O
> #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O"
> combinedio
> 
> 
> # 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
> #CustomLog logs/referer_log referer
> #CustomLog logs/agent_log agent
> CustomLog logs/access_log combined
> 
> 
> ServerTokens Minimal
> ServerSignature Off
> 
> # Directives controlling the display of server-generated directory listings.
> # IndexOptions: Controls the appearance of server-generated directory
> # listings.
> #
> IndexOptions -DescriptionWidth -FancyIndexing -FoldersFirst -IconsAreLinks
> -IconHeight
> IndexOptions -IconWidth -IgnoreClient -NameWidth -ScanHTMLTitles
> IndexOptions -SuppressColumnSorting -SuppressDescription
> IndexOptions -SuppressHTMLPreamble -SuppressIcon -SuppressLastModified
> -SuppressRules
> IndexOptions -SuppressSize -TrackModified -VersionSort
> 
> 
> AddDefaultCharset ISO-8859-1
> 
> AddCharset ISO-8859-1  .iso8859-1  .latin1
> AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
> AddCharset ISO-8859-3  .iso8859-3  .latin3
> AddCharset ISO-8859-4  .iso8859-4  .latin4
> AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
> AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
> AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
> AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb
> AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
> AddCharset ISO-2022-JP .iso2022-jp .jis
> AddCharset ISO-2022-KR .iso2022-kr .kis
> AddCharset ISO-2022-CN .iso2022-cn .cis
> AddCharset Big5        .Big5       .big5
> # For russian, more than one charset is used (depends on client, mostly):
> AddCharset WINDOWS-1251 .cp-1251   .win-1251
> AddCharset CP866       .cp866
> AddCharset KOI8-r      .koi8-r .koi8-ru
> AddCharset KOI8-ru     .koi8-uk .ua
> AddCharset ISO-10646-UCS-2 .ucs2
> AddCharset ISO-10646-UCS-4 .ucs4
> AddCharset UTF-8       .utf8
> 
> AddCharset GB2312      .gb2312 .gb
> AddCharset utf-7       .utf7
> AddCharset utf-8       .utf8
> AddCharset big5        .big5 .b5
> AddCharset EUC-TW      .euc-tw
> AddCharset EUC-JP      .euc-jp
> AddCharset EUC-KR      .euc-kr
> AddCharset shift_jis   .sjis
> 
> 
> # AddType allows you to add to or override the MIME configuration
> # file mime.types for specific file types.
> #
> #AddType application/x-tar .tgz
> #
> # AddEncoding allows you to have certain browsers 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
> #
> # If the AddEncoding directives above are commented-out, then you
> # probably should define those extensions to indicate media types:
> #
> AddType application/x-compress .Z
> AddType application/x-gzip .gz .tgz
> 
> 
> # 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)
> #
> # 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
> 
> 
> 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
> 
> 
> 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 .mdscnet.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>
> 
> 
> 
> ### 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.
> 
> NameVirtualHost 10.0.8.17:80
> 
> 
> <VirtualHost 10.0.8.17:443>
>    SetEnv HTTPS_PORT 443
> </VirtualHost>
> <VirtualHost 10.0.8.17:80>
>    ServerName mdwebdv1.mdscnet.com
> </VirtualHost>
> 
> 
> Alias /images
> /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/images
> AliasMatch ^/home/(.*)
> /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/$1
> AliasMatch ^/login/(.*)
> /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/MayLogin.war/$1
> AliasMatch ^/(.*)
> /opt/WebSphere/AppServer/installedApps/mdwebdv1Network/PortalDev.ear/PortalHome.war/$1
> RedirectMatch 301 ^/$ http://mdwebdv1.mdscnet.com/home
> 
> # Dynamic Shared Object (DSO) Support
> LoadModule  was_ap20_module  /opt/WebSphere/AppServer/bin/mod_was_ap20_http.so
> WebSpherePluginConfig
> /opt/WebSphere/DeploymentManager/config/cells/plugin-cfg.xml
> -------------------------------------------------------------------------------
> 
> The application consists of 2 web applications MayLogin and PortalHome and an
> EJB.  The user is sent to /home if they don't have a login session.  The URI
> /home is mapped to the webapp PortalHome and uses a .html file to redirect the
> user to /login/index.jsp, which is located in the MayLogin webapp.  It is here
> that the user authenticates and be sent to the PortalHome webapp.
> 
> I strongly belive that this is either an http configuration error, or it means
> that I am going to have to do a little bit of hacking to get the application to
> work the right way with WAS 5.1
> 
> I am wondering if anyone on this list has come across this before and can point
> me in the correct direction.
> 
> I can send output of the http plugin log as well as apache access and error
> logs if that will help out.
> 
> 
> Thanks in advance
> Matthew Hamilton
> The May Department Stores


What does your plugin-cfg.xml file look like?


-- 
Aaron W Morris <aa...@mindspring.com> (decep)



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org