E-Business Suite R12.2 : Login To External Node Gets Redirected To Internal Node

To resolve the redirection issue from external to internal and vice versa . Need to be update the configuration file mod_wl_ohs.conf and apps.conf accordingly.


Internal node:-appsprod.abc-cranes.com

External node:-abcisupplier.abc-cranes.com


In  $IAS_ORACLE_HOME/instances/EBS_web_<SID>_OHS1/config/OHS/EBS_web_<SID>/mod_wl_ohs.conf, it has the following setting :-


# +======================================================================+

# |    Copyright (c) 2005, 2016 Oracle and/or its affiliates.           |

# |                         All rights reserved.                         |

# |                           Version 12.0.0                             |

# +======================================================================+

#

# $Header: mod_wl_ohs_conf_FMW.tmp 120.7.12020000.7 2016/11/22 07:45:33 kmandal ship $

#

# This template is used to seed the initial mod_wl_ohs.conf. After that, AutoConfig does not manage mod_wl_ohs.conf changes.

# It is advisable to perform OHS configuration changes through EM console.

# The default EM console URL is  http://%s_hostname%.%s_domainname%:%s_wls_adminport%/em

#

####################################################################

#

# mod_wl_ohs.so - The plug-ins allow requests to be proxied from an

# Apache HTTP Server, Oracle HTTP Server, or Microsoft Internet Information Server (IIS)

# to WebLogic Server. In this way, plug-ins enable the HTTP server to communicate

# with applications deployed on the WebLogic Server.

# For further information refer http://download.oracle.com/docs/cd/E14571_01/web.1111/e16435/overview.htm#BABGIJBI

#

#

# WebLogicCluster - List of member server and port in server:port,server1:port1 format

# For further information refer Configure the Apache HTTP Server Plug-In here:

# http://download.oracle.com/docs/cd/E14571_01/web.1111/e16435/apache.htm#CDEHDGJG

#

#

####################################################################

LoadModule weblogic_module   "${ORACLE_HOME}/ohs/modules/mod_wl_ohs.so"

<IfModule mod_weblogic.c>

DynamicServerList OFF

<Location /OA_HTML>

SetHandler weblogic-handler

WebLogicCluster abcisupplier.abc-cranes.com:7201,appsprod.abc-cranes.com:7201

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /forms>

SetHandler weblogic-handler

WLCookieName JsessionIDForms

WebLogicCluster appsprod.abc-cranes.com:7401,abcisupplier.abc-cranes.com:7412

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /webservices>

SetHandler weblogic-handler

WLCookieName JsessionIDOAFM

WebLogicCluster abcisupplier.abc-cranes.com:7601,appsprod.abc-cranes.com:7603

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /formsclient>

SetHandler weblogic-handler

WLCookieName JsessionIDFORMS-C4WS

WebLogicCluster abcisupplier.abc-cranes.com:7801,appsprod.abc-cranes.com:7803

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /ekanban-UI-context-root>

SetHandler weblogic-handler

WLCookieName JsessionIDEkanban

WebLogicCluster abcisupplier.abc-cranes.com:6812

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /accessgate>

SetHandler weblogic-handler

WebLogicCluster abcisupplier.abc-cranes.com:6812

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

<Location /YMS-UI-context-root>

SetHandler weblogic-handler

WLCookieName JsessionIDYMS

WebLogicCluster abcisupplier.abc-cranes.com:6812

WLTempDir ${ORACLE_INSTANCE}/tmp

#SecureProxy ON

#WLProxySSL ON

#WLSSLWallet "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

</Location>

</IfModule>



In $FMW_HOME/webtier/instances/EBS_web_VIS_OHS1/config/OHS/EBS_web_VIS/apps.conf, it has the following setting:

#

# $Header: apps_conf_FMW.tmp 120.10 2012/01/31 11:27:58 ttsharma ship $

#

# This template would not be instantiated using Autoconfig API. The API

# <FND_TOP>/patch/115/bin/txkSetAppsConfig.pl is used to instantiate OR

# regenerate <webtier_home>/config/OHS/<s_ohs_component>/apps.conf file.

#

# It is advisable to perform OHS configuration changes through EM console.

# The default EM console URL is  http://<s_hostname>.<s_domainname>:<s_wls_adminport>/em

#

# NOTE : This is a template to add apps specific configuration in httpd.conf

#

################################################################################

#

# Small note on directive used in this config file

#

# ProxyPass - This directive allows remote servers to be mapped into the spabc of

# the local server; the local server does not act as a proxy in the conventional sense,

# but appears to be a mirror of the remote server. The local server is often called a

# reverse proxy or gateway. Please see http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

# for details.

#

#

# ProxyPass balancer://oacorecluster_oamedia - If the Proxy directive scheme starts with the

# balancer:// (eg: balancer://cluster/, any path information is ignored) then a virtual worker

# that does not really communicate with the backend server will be created. Instead it is responsible

# for the management of several "real" workers. In that case the special set of parameters can be

# add to this virtual worker.

# See mod_proxy_balancer  for more information about how the balancer works.

#

#

# ProxyPassReverse - Adjusts the URL in HTTP response headers sent from a reverse proxied server

# Please refer http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassreverse for more details.

#

#

# mod_proxy_balancer - mod_proxy extension of load balancer.

# Please refer "http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html" for details.

#

#

# BalancerMember - This directive adds a member to a load balancing group. It could be used within a

# <Proxy balancer://...> container directive, and can take any of the key value pairs available to

# ProxyPass directives.

#

#

#

###################################################################################


LoadModule proxy_balancer_module   "${ORACLE_HOME}/ohs/modules/mod_proxy_balancer.so"

ProxyRequests off


<IfModule proxy_balancer_module>


 ProxyRequests Off


 ######################

 # for oacore

 ######################

 <Location /OA_MEDIA>

   ProxyPass balancer://oacorecluster_oamedia

   ProxyPassReverse balancer://oacorecluster_oamedia

 </Location>

 <Proxy balancer://oacorecluster_oamedia>

   BalancerMember http://abcisupplier.abc-cranes.com:7201/OA_HTML/media

   BalancerMember http://appsprod.abc-cranes.com:7201/OA_HTML/media

 </Proxy>


 <Location /OA_JAVA>

   ProxyPass balancer://oacorecluster_oajava

   ProxyPassReverse balancer://oacorecluster_oajava

 </Location>

 <Proxy balancer://oacorecluster_oajava>

   BalancerMember http://abcisupplier.abc-cranes.com:7201/OA_HTML/classes

   BalancerMember http://appsprod.abc-cranes.com:7201/OA_HTML/classes

 </Proxy>


 <Location /OA_CGI/FNDWRR.exe>

  ProxyPass balancer://oacorecluster_oacgi/OA_HTML/txkFNDWRR.pl

  ProxyPassReverse balancer://oacorecluster_oacgi/OA_HTML/txkFNDWRR.pl

 </Location>

 <Proxy balancer://oacorecluster_oacgi/OA_HTML/txkFNDWRR.pl>

   BalancerMember http://abcisupplier.abc-cranes.com:7201

   BalancerMember http://appsprod.abc-cranes.com:7201

 </Proxy>


 ######################

 # for forms

 ######################

 <Location /OA_MEDIA>

  ProxyPass balancer://formscluster_oamedia

  ProxyPassReverse balancer://formscluster_oamedia

 </Location>

 <Proxy balancer://formscluster_oamedia>

   BalancerMember http://appsprod.abc-cranes.com:7401/OA_HTML/media

   BalancerMember http://abcisupplier.abc-cranes.com:7412/OA_HTML/media

 </Proxy>


 <Location /OA_JAVA>

  ProxyPass balancer://formscluster_oajava

  ProxyPassReverse balancer://formscluster_oajava

 </Location>

 <Proxy balancer://formscluster_oajava>

   BalancerMember http://appsprod.abc-cranes.com:7401/OA_HTML/classes

   BalancerMember http://abcisupplier.abc-cranes.com:7412/OA_HTML/classes

 </Proxy>


</IfModule>


#

# Environment settings to be passed to CGI programs from external env

#

PassEnv NLS_LANG


#

# Set Limit of ENV Variables

#

# The LimitRequestFieldSize directive allows the server administrator to

# reduce or increase the limit on the allowed size of an HTTP request header

# field. A server needs this value to be large enough to hold any one header

# field from a normal client request


LimitRequestFieldSize 4096


# The LimitRequestFields directive allows the server administrator to

# modify the limit on the number of request header fields allowed in an HTTP

# request. A server needs this value to be larger than the number of fields

# that a normal client request might include. The number of request header

# fields used by a client rarely exceeds 20, but this may vary among different

# client implementations, often depending upon the extent to which a user has

# configured their browser to support detailed content negotiation


LimitRequestFields 32


# The LimitRequestBody directive allows the user to set a limit on

# the allowed size of an HTTP request message body within the context in which

# the directive is given (server, per-directory, per-file or per-location). If

# the client request exceeds that limit, the server will return an error

# response instead of servicing the request. The size of a normal request

# message body will vary greatly depending on the nature of the resource and

# the methods allowed on that resource


LimitRequestBody 0


# The LimitRequestLine directive allows the server administrator to

# reduce the limit on the allowed size of a client's HTTP request-line

# below the normal input buffer size compiled with the

# server. Since the request-line consists of the HTTP method, URI, and protocol

# version, the LimitRequestLine directive plabcs a restriction on the length of

# a request-URI allowed for a request on the server. A server needs this value

# to be large enough to hold any of its resource names, including any

# information that might be passed in the query part of a GET request


LimitRequestLine 4096


#

# Caching static contents

#

<IfModule expires_module>

 ExpiresActive On


 <Location /OA_MEDIA>

   ExpiresByType image/gif  "access plus 1 month"

   ExpiresByType image/jpeg  "access plus 1 month"

   ExpiresByType text/txt "access plus 1 month"

 </Location>


 <Location /OA_HTML>

   ExpiresByType image/gif  "access plus 1 month"

   ExpiresByType image/jpg  "access plus 1 month"

#   ExpiresByType text/html "access plus 1 month"

   ExpiresByType text/css "access plus 1 month"

#   ExpiresByType text/js "access plus 1 month"

 </Location>


</IfModule>


#

# To facilitate reloading of the html on change

#


<Location ~ "/oam/nonUix/launchMode/restricted">

Header always add Cache-Control no-cache

Header always merge Cache-Control must-revalidate

Header always merge Cache-Control no-store

</Location>


Solution:-


To fix this issue, pls make the following changes to the run file system of the external node:

Check the ohs directory.

$grep ohs $CONTEXT_FILE


1. Modify $IAS_ORACLE_HOME/instances/EBS_web_<SID>_OHS1/config/OHS/EBS_web_<SID>/mod_wl_ohs.conf


-> Remove any reference to Internal.<DOMAIN>.


Change:


WebLogicCluster internal.<DOMAIN>:8000:7201,external.<DOMAIN>:7201

WebLogicCluster internal.<DOMAIN>:8000:7401,external.<DOMAIN>:7401

WebLogicCluster internal.<DOMAIN>:8000:7601,external.<DOMAIN>:7601

WebLogicCluster internal.<DOMAIN>:8000:7801,external.<DOMAIN>:7801


To:


WebLogicCluster external.<DOMAIN>:8000:7201

WebLogicCluster external.<DOMAIN>:8000:7401

WebLogicCluster external.<DOMAIN>:8000:7601

WebLogicCluster external.<DOMAIN>:8000:7801


2. In the apps.conf

-> remove any reference to Internal.<DOMAIN>


Change:


 BalancerMember http://internal.<DOMAIN>:7201/OA_HTML/media

 BalancerMember http://external.<DOMAIN>:7201/OA_HTML/media


 BalancerMember http://internal.<DOMAIN>:7201/OA_HTML/classes

 BalancerMember http://external.<DOMAIN>:7201/OA_HTML/classes


 BalancerMember http://internal.<DOMAIN>:7201

 BalancerMember http://external.<DOMAIN>:7201


 BalancerMember http://internal.<DOMAIN>:7401/OA_HTML/media

 BalancerMember http://external.<DOMAIN>:7401/OA_HTML/media


 BalancerMember http://internal.<DOMAIN>:7401/OA_HTML/classes

 BalancerMember http://external.<DOMAIN>:7401/OA_HTML/classes


To:


 BalancerMember http://external.<DOMAIN>:7201/OA_HTML/media


 BalancerMember http://external.<DOMAIN>:7201/OA_HTML/classes


 BalancerMember http://external.<DOMAIN>:7201


 BalancerMember http:/external.<DOMAIN>:7401/OA_HTML/media


 BalancerMember http://external.<DOMAIN>:7401/OA_HTML/classes


3. Restart the internal node.


4. Restart the external node.


5. Try to reproduce the issue.

No comments:

Post a Comment

Thanks for reading till end. I hope this will help you more to improve your knowledge.

Now it's your turn!

What do you think? Share your experience in the comments box and subscribe for more interesting post.