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.