How to fix login redirection issue External Node Gets Redirected in r12.

Introduction:-

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 to resolve the External Node Gets Redirected.



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 External Node Gets Redirected, 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.

To configure external node , you may check the another post, click here.

For similar issue, you may check the another article, click here.


Leave a Comment