Potential Problem :
When webgate identifies an error/exception (may be reported by OAM) , in thiscase webgate fires an internal redirect request for "/oberr.cgi" & this
invokes an error handler.
This error handler is defined in the webgate.conf file.
<Location "/oberr.cgi">
SetHandler obwebgateerr
</Location>
But when the resource webgate is the proxy. In this case if webgate
identifies error/exception, it fires an internal redirect request. But the
error handler "obwebgateerr" is not invoked.
Potential Reason:
When apache sends the internal redirect request in that case it sets "proxy-server" handler by itself.Due to which the handler defined for "/oberr.cgi" is not set as already an
handler is set. This causes the request to be proxied to the backend server &
causes problem.
Solution:
It is required to set a "ProxyPassMatch" directive before the "ProxyPass"directive in the conf file.
By setting this directive, it will not proxy for the "/oberr.cgi" request to
the backend server rather it will be served by the webgate itself.
Configuration to do:
1) Add the following directive in the conf file. Restart the Web Server:ProxyPassMatch ^/oberr.cgi !
Syntax:
ProxyPassMatch [regex] !
The ! directive is useful in situations where you don't want to reverse-proxy.
Eg:
ProxyPassMatch ^/oberr.cgi !
ProxyPass / http://something.com/AuthenticationService/
ProxyPassReverse / http://something.com/AuthenticationService/
Enjoy :-)
No comments:
Post a Comment