Using alias to access E1 web server

markdcci

markdcci

Owner - Rockford Consulting LLC
All,
I have reviewed the many posts over the last few years on accessing E1 via a simplified URL rather than the out-of-the-box install that includes port numbers. I also reviewed Jeff Stevenson's "Eliminating the Use of Port Numbers in Websphere/HTTP".
I based my set up on those posts and papers, particularly on a more recent post:

Hardware load balancing and JDE EnterpriseOne 9.0 HTML Servers


When I try to access E1 via the short url, I get a 404 error and the log on the web server shows the following:
“File does not exist: D:/WebSphere61/Appserver/profiles/AppSrv01/installedApps/WEBSERVER1ANode01Cell/HTML_Web_Server_webserver1a_PD_81.ear/webclient.war/E1Menu.maf”

I am pointing to owhtml and it seems to make it that far so I think I have the directory structure correct. It seems as if I am close – Any ideas out there?

Here’s my set-up
Enterprise Server: AS400 V6R1
Web Server: Windows 2003 SP2
Web App Server: Websphere 6.1.0.21
Application/Tools Release: JDE E1 9.0/Tools Release 8.98.1.1

On a Windows 2003 server I have installed WAS6.1 and E1 9.0/8.98.1.1 JAS on Port 81.

I have added a simplified DNS entry: JDEUS, pointing to the same IP address as my server, webserver1a.mycompany.com: 10.01.2.123

I have created a host alias of JDEUS pointing to port 80 inside of the virtual host created by the E1 JAS install in WAS6.1.

I have modified my httpd.conf file as follows:

NameVirtualHost 10.01.2.123

<VirtualHost 10.01.2.123>
Alias /jde "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war"
ServerAdmin [email protected]
DocumentRoot " D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war\owhtml"
ServerName 10.01.2.123
ServerAlias jdeus.mycompany.com
ErrorLog "C:\JDE_HOME\targets\HTML_Web_Server_webserver1a_PD_81\logs\error.log"
</VirtualHost>

<Directory "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war\WEB-INF">
Order Deny,Allow
Deny from All
</Directory>

<Directory "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>
 
Make sure you have generated/propogated plugin-cfg.xml

If you can, post the plugin-cfg.xml file (the one on the remote node if you are using Network Deployment, as you should be) as an attachment.


[ QUOTE ]
All,
I have reviewed the many posts over the last few years on accessing E1 via a simplified URL rather than the out-of-the-box install that includes port numbers. I also reviewed Jeff Stevenson's "Eliminating the Use of Port Numbers in Websphere/HTTP".
I based my set up on those posts and papers, particularly on a more recent post:

Hardware load balancing and JDE EnterpriseOne 9.0 HTML Servers


When I try to access E1 via the short url, I get a 404 error and the log on the web server shows the following:
“File does not exist: D:/WebSphere61/Appserver/profiles/AppSrv01/installedApps/WEBSERVER1ANode01Cell/HTML_Web_Server_webserver1a_PD_81.ear/webclient.war/E1Menu.maf”

I am pointing to owhtml and it seems to make it that far so I think I have the directory structure correct. It seems as if I am close – Any ideas out there?

Here’s my set-up
Enterprise Server: AS400 V6R1
Web Server: Windows 2003 SP2
Web App Server: Websphere 6.1.0.21
Application/Tools Release: JDE E1 9.0/Tools Release 8.98.1.1

On a Windows 2003 server I have installed WAS6.1 and E1 9.0/8.98.1.1 JAS on Port 81.

I have added a simplified DNS entry: JDEUS, pointing to the same IP address as my server, webserver1a.mycompany.com: 10.01.2.123

I have created a host alias of JDEUS pointing to port 80 inside of the virtual host created by the E1 JAS install in WAS6.1.

I have modified my httpd.conf file as follows:

NameVirtualHost 10.01.2.123

<VirtualHost 10.01.2.123>
Alias /jde "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war"
ServerAdmin [email protected]
DocumentRoot " D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war\owhtml"
ServerName 10.01.2.123
ServerAlias jdeus.mycompany.com
ErrorLog "C:\JDE_HOME\targets\HTML_Web_Server_webserver1a_PD_81\logs\error.log"
</VirtualHost>

<Directory "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war\WEB-INF">
Order Deny,Allow
Deny from All
</Directory>

<Directory "D:\WebSphere61\Appserver\profiles\AppSrv01\installedApps\WEBSERVER1ANode01Cell\HTML_Web_Server_webserver1a_PD_81.ear\webclient.war">
Order Deny,Allow
Allow from All
</Directory>

[/ QUOTE ]
 
Jeff,
I did regen the plugin after making the changes (and just did it again now to make sure).

I have attached the plugin-cfg.xml file. You'll see mention of another port, port 84, in that xml file - we are not trying to do anything with that port right now and I have that instance shut down.

I am using ND, but HTTP Server and WebSphere are both installed on the same physical server. Not sure if that makes it more or less complicated.

Thanks for taking a look.
 

Attachments

  • 153001-plugin-cfg.zip
    2.4 KB · Views: 154
[ QUOTE ]
Jeff,
I did regen the plugin after making the changes (and just did it again now to make sure).

I have attached the plugin-cfg.xml file. You'll see mention of another port, port 84, in that xml file - we are not trying to do anything with that port right now and I have that instance shut down.

I am using ND, but HTTP Server and WebSphere are both installed on the same physical server. Not sure if that makes it more or less complicated.

Thanks for taking a look.

[/ QUOTE ]

The problem is that IHS should not be handling E1Menu.maf. The presence of an HTTP 404 error indicates that it is. The plug-in-cfg.xml should define that WAS handle it with a line like this:

"<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/jde/*.maf" />"

That line tells the plugin to have WAS handle anything matching that pattern. I see in your plugin-cfg.xml file that a line does exist for:

<UriGroup Name="vh_HTML_Web_Server_webserver1a_PD_81_PD1C_PD_81_WEBSERVER1ANode01_Cluster_URIs">

and

<UriGroup Name="vh_HTML_Web_Server_webserver1a_AUPD_84_PD1C_AUPD_84_WEBSERVER1ANode01_Cluster_URIs">

This means that the pattern matching is configured correctly so the next step is to examine the plugin file to see if the JAS server is properly associated with the virtual hosts mentioned above.

This line tells me that your JAS server is associated with default_host instead of vh_HTML_Web_Server_webserver1a_PD_81:

<Route ServerCluster="server1_WEBSERVER1ANode01_Cluster" UriGroup="default_host_server1_WEBSERVER1ANode01_Cluster_URIs" VirtualHostGroup="default_host" />

and while default_host does have the proper pattern matching to ensure WAS and not IHS handles E1Menu.maf it does not have the proper virtual host aliases to handle jdeus:80 as evidenced here:

<VirtualHostGroup Name="default_host">
<VirtualHost Name="*:9080" />
<VirtualHost Name="*:80" />
<VirtualHost Name="*:9443" />
<VirtualHost Name="*:5060" />
<VirtualHost Name="*:5061" />
<VirtualHost Name="*:443" />
</VirtualHostGroup>


Associate AS with VH in Application servers > AS_Name > Web Container Settings > Web container

Also, add a VirtualHost entry in WAS for the fully qualified name of your server. jdeus.domain.com:80 in addition to the short entry.

Regen the plugin and give it a shot.
 
Jeff,

That seems to have done it. As you pointed out, I just needed to associate the app server with the virtual host and all now appears to be working.

Thanks very much for your quick response on this one. It helps to hear directly from the guy who "wrote the book" (or the whitepaper, in this case).
 
Back
Top