E1 Shortcut URL in Load Balanced Environiment

dmbujak

Well Known Member
AS400 v5r4m5, OAS 10.1.2.1 (Http and web cache) OAS 10.1.3 (J2EE) installed on two intel servers with port 86, 87 on server 1 and ports 96,97 on server 2 fronted by cisco load balancer, 8.98.0.5, 8.12 update 3

We have set-up a "friendly URL" to for end-users to signon into E1. However, the E1 service/configuration application only allows one server, one port per environment. Consequently, when the shortcut url is constructed it is created with the fully qualified host domain name, not the friendly URL.

The endusers receive the sign-in page with the fully qualified host domain name from the environment/services application. However, when users sign-in, if they are not load balanced to the exact machine and port entered in teh environment/configuration screen, they receive you have been logged out of the application.

I have a feeling our HTTP conf file is not set-up correctly. Currently, if I login using the fully qualified domain host name, the URL is reconstructed to the friendly name. Is there a way to set-up the HTTP conf file to use the friendly but also allow the fully qualified domain host name to work?

I have attached a http conf file
 

Attachments

  • 157244-HTTP_confd_HUSMNW0V.txt
    42.1 KB · Views: 132
[ QUOTE ]
AS400 v5r4m5, OAS 10.1.2.1 (Http and web cache) OAS 10.1.3 (J2EE) installed on two intel servers with port 86, 87 on server 1 and ports 96,97 on server 2 fronted by cisco load balancer, 8.98.0.5, 8.12 update 3

We have set-up a "friendly URL" to for end-users to signon into E1. However, the E1 service/configuration application only allows one server, one port per environment. Consequently, when the shortcut url is constructed it is created with the fully qualified host domain name, not the friendly URL.

The endusers receive the sign-in page with the fully qualified host domain name from the environment/services application. However, when users sign-in, if they are not load balanced to the exact machine and port entered in teh environment/configuration screen, they receive you have been logged out of the application.

I have a feeling our HTTP conf file is not set-up correctly. Currently, if I login using the fully qualified domain host name, the URL is reconstructed to the friendly name. Is there a way to set-up the HTTP conf file to use the friendly but also allow the fully qualified domain host name to work?

I have attached a http conf file

[/ QUOTE ]

See if this helps:

http://jeffstevenson.karamazovgroup.com/2009/01/simple-e1-url.html
 
Jeff,

I did read your paper as I have been scouring the net to try and resolve my issue. The friendly URL works. The question I have is their also a means to log into E1 using the fully qualified host name such as mycompany.domain.com? Currently, if we use the fully qualified name it resolves to the friendly and the shortcuts are not working properly in E1.
 
[ QUOTE ]
Jeff,

I did read your paper as I have been scouring the net to try and resolve my issue. The friendly URL works. The question I have is their also a means to log into E1 using the fully qualified host name such as mycompany.domain.com? Currently, if we use the fully qualified name it resolves to the friendly and the shortcuts are not working properly in E1.

[/ QUOTE ]

What you mention, mycompany.domain.com, is not a fully qualified host name but instead a fully qualified domain name. There is a difference. If you wish to use a fully qualified domain name in addition to a short name simply include it in the DNS entry, the HTTPd.conf, and as a WAS host alias in the Virtual Host definition.


DNS
---

E1PY
E1PY.domain.com


HTTd.conf
---------

<VirtualHost 172.16.23.29>
DocumentRoot "C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\WTCOWDEV01Cell01\EA_PY898.ear\webclient.war\owhtml"
ServerName e1py.domain.com
ServerAlias e1py
Alias /jde "C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\WTCOWDEV01Cell01\EA_PY898.ear\webclient.war"
</VirtualHost>


WAS Virtual Host
----------------

E1PY:80
E1PY.domain.com:80


Those three items pretty much sum up the entire Virtual Host name vs. Physical Host name portion of the Simplified URL concept.
 
Please look at our ESI JDE SSO software as a free alternative load balancer: the actual SSO functionality is not free, but the built-in load balancing is.

It uses simple round robin. The bottom line is that you can build it all in a VM running some old copy of Win 2000 Professional (i.e.: runniing under free VMWare Server on the Deployment Server) practically at no cost, providing a single URL for all JDE clients with (free!) load balancing and a simple flexible configuration.

If you are interested, plase e-mail me off the list.
 
Dave,

There was a document I left on this stuff. Do you still have it? I think the problem is with your WebCache configuration. You should be able to use the friendly URL and the FQDN.

Just for clarification. Is this what you want:

1. User types in http://JDE_PD and is then redirected to http://JDE_PD.companydomain.com/jde/E1Menu.maf

If you want to do this with WebCache running, you may have to create multiple virtual hosts - one as an origin server and one for the friendly URL redirect.

Let me know if you need the document.
 
David,

I have the document - it is the best technical documentation I have seen. The bottom line is the shortcut URL is not working. I am assuming it is not working because the E1 configuration is setup by exact one server:port number. For instance, in the P986110 application, we setup SERVER1 with port 86 (this also exists in the machine master). Upon sign-in, the URL gets re-constructed back to the fully qualified UTTPD.domain:80 which is the servername directive found in the virtual host of the HTTPconf file.

It appears if the user gets load balanced to the server that is setup in the P986110 application, the shortcut URL works; if not, a message of "You have been logged out of this application” is presented. Since the individual host name url (servername.domain:port number) always gets resolved to UTTPD.domain:80, I am making the assumption the shortcut URL as it is setup will never work. Consequently, the question becomes, “Is it possible to setup the httpconf file in a way that will allow UTTPD.domain:80 to work along with the individual servername.domain:port number.

I am probably not using the correct terminology in all cases but I am hoping my issue is bit clearer than in my first post. Thanks for taking the time and I hope all is well.
 
Alex,

We use Cisco load balancers to front all of our hardware and once the traffic is on the physical server, Oracle Application Server handles the internal traffic across the redundant E1 J2EE applications. We are only having an issue with shortcut URL withing E1.

The solution is very sound - thanks to Jdelist6654 as he architected the solution.
 
Is UTPPD in the F9650? Also, is UTPPD OCM-mapped as the JAS service server in F986101?

Thanks for the kind words.
 
[ QUOTE ]
David,

I have the document - it is the best technical documentation I have seen. The bottom line is the shortcut URL is not working. I am assuming it is not working because the E1 configuration is setup by exact one server:port number. For instance, in the P986110 application, we setup SERVER1 with port 86 (this also exists in the machine master). Upon sign-in, the URL gets re-constructed back to the fully qualified UTTPD.domain:80 which is the servername directive found in the virtual host of the HTTPconf file.

It appears if the user gets load balanced to the server that is setup in the P986110 application, the shortcut URL works; if not, a message of "You have been logged out of this application” is presented. Since the individual host name url (servername.domain:port number) always gets resolved to UTTPD.domain:80, I am making the assumption the shortcut URL as it is setup will never work. Consequently, the question becomes, “Is it possible to setup the httpconf file in a way that will allow UTTPD.domain:80 to work along with the individual servername.domain:port number.

I am probably not using the correct terminology in all cases but I am hoping my issue is bit clearer than in my first post. Thanks for taking the time and I hope all is well.

[/ QUOTE ]


This is one of the reasons I created the Simplified URL concept - to eliminate the use of server names in the URL altogether. If you define a Virtual Host in httpd.conf and in WAS (and I assume OAS) and create a matching DNS name that points to the IP address of the machine hosting the HTTP Virtual Host there is no need for a server name and the resulting problems.

If you haven't already, would you mind posting your httpd.conf file?
 
Our first attempt to fix the issue was creating a server using the F9654A with a name of UTTPD (we set up using the domain name and port 80). Next, we setup the JAS service in the P986110/XJDE0003 for the JPD812 environment for the server UTTPD - no luck. So yes to both questions. I have a call open with Oracle but not so sure I am going to a solid solution. In the meantime, we loaded an extra port on one of the servers and did not include it in web cache or the internal load balancing to provide a temporary solution.
 
Sometimes it is just a matter of turning off "UseCanonicalName" in the httpd.conf. I noticed you have it on. You'd want to test this on a server not currently in your load balance array, of course.

Oh, and yes you can do what you're asking, even with Web Cache and/or an external load balancer. It helps to have that flexibility in cases where servers are registered by hostname in server manager, for instance, when you have a load balancer, etc. I can go into more detail off line (PM) if necessary.
 
Once you have done that you have to bounce services - ES and WS. Have you done that?
 
[ QUOTE ]
Once you have done that you have to bounce services - ES and WS. Have you done that?

[/ QUOTE ]

yes, we bounced the services and did not have any luck. Interestingly, Charles made a commment about canonical names - I was going to ask if turn that parameter off would help.
 
Charles,

You beat me to the punch. My next question was "Will turning off the canonical names help resolve my problem of the individual hostname.domain:port# always resolving to the value listed for the servername directive.

thanks for posting.
 
Did you add the mapping on the server map side too? (ie. not just System - 812).
 
It certainly can, and in your case it should, but it sometimes depends on how you define the virtual hosts.

I tested this last night with a Web Cache, and then bypassed Web Cache using the actual host name with the listen port that Web Cache references in its Origin Server definition. Worked well.

I also have a customer that is doing this; last Summer I helped them accomplish what you're trying to do.
 
Back
Top