Click OK to close the Default Web Site Properties window.
A-12 Oracle Fusion Middleware Administrators Guide for Oracle HTTP Server
A.1.7 Oracle Proxy Plug-In Usage Information
This section highlights development and usage practices to consider when developing an application that runs behind the Oracle Proxy Plug-In. Some of the practices also
apply when enabling an application to run behind Oracle Web Cache.
■
Check for configurations based on Oracle HTTP Server being the entry point into the network.
This is usually only relevant if an application has a module that plugs directly into Oracle HTTP Server. Specifically, look for dependencies on obtaining information
about the client based on the connection made to Oracle HTTP Server, such as using the SSL certificate for authentication. Currently, Secure Socket Layer SSL is
not supported, so even if the client uses SSL to connect to the third-party listener, an unencrypted HTTP message will be sent from the third-party listener to Oracle
HTTP Server. This means that client certificates will not be available to components that reside behind the plug-in. The environment variable REMOTE_
ADDR has been specifically preserved when Oracle Proxy Plug-In and Oracle Web Cache are used, but other client information may, in practice, represent the system
on which the proxy resides rather than the actual client host. These behaviors must be discovered and eliminated in cases where Oracle HTTP Server is not the
external listener for Oracle Fusion Middleware.
■
Avoid embedding host names into HTML unless the link is external to the Web site.
This includes static HTML pages, dynamic pages generated by servlets, JSPs, PLSQL, and so on. Examine all code that obtains the server name of Oracle HTTP
Server to ensure that the code is not embedding the server name into pages that are sent back to the client. To test for this behavior, use a Web crawler application
also known as a spider to traverse all links in a Web site. Open source tools with this functionality are available.
■
Avoid returning host and port information in applications such as applets or javascript downloaded to the client.
If you have an application that uses browser-based code, ensure that the code does not contain the host name and port of Oracle HTTP Server that actually delivers
the content. Instead, it must have the actual client-accessible address used by the third-party listener.
■
Ensure that all URLs within an application can be easily mapped to a set of rules that the proxy can use.
To successfully proxy all requests for an application, the Oracle Proxy Plug-In must have a complete description of the URL space for that application. Each
Oracle Fusion Middleware application must describe the set of rules necessary to configure the plug-in for that application. This set of rules must include all URLs
that the application could generate. If an application generates a URL that is not described by the proxy urlrule parameters, then the request will be served by
the third-party HTTP listener, and a document not found error may occur, or a different document may be delivered to the client.
Developers of applications that use common top-level directories, such as a reliance on mapping images, should be prepared to the following:
■
Change these common links to something that will not conflict with applications that might already be deployed on the third-party listener.
■
Instruct the user to copy the necessary content to the third-party listener directory structure. For performance reasons, it is a good idea to have the
Using Oracle Plug-Ins for Third-Party Web Servers A-13
third-party listener handle static .gif and .jpg files, but it requires that the files be copied to the third-party listener.
A.1.8 Troubleshooting Oracle Proxy Plug-In
This section describes common problems and solutions related to Oracle Proxy Plug-In.
Listener Fails to Start
■
Check for problems in the proxy server definition file. Each server in the server list line must be defined later in the file, and you must define at least one server. If a
server name is listed but not defined, then the listener may not start. Ensure that there are no typographical errors or missing quotes in the proxy server definition
file.
■
For Sun Java System 6.1 or 6.0: Ensure that Init lines are added to the magnus.conf file, and the ObjectType and Service lines are added to the
obj.conf file.
Listener Returns Incorrect URLs
■
Verify that changes to the proxy server definition file were saved and the listener was restarted.
■
Ensure that there are no typographical errors in the proxy server definition file.
■
Ensure that the urlrule parameter is set up correctly, and determine whether the stripcontext option should be set to true.
■
Verify that the serverlist line in the proxy server definition file specifies the back-end server you are trying to reach.
■
Verify that the back-end server is running, and that the file you are attempting to retrieve exists and is accessible on the back-end server.
■
Verify that the host, port and urlrule parameters in the proxy server definition file target the correct area on the back-end server.
■
Ensure that client requests are being sent to the correct port on the third-party listener machine.
■
Check the listener log files, the proxy log, and the back-end server logs to verify that requests are getting through. The proxy log may need to be set to debug mode
You may need to restart the listener.
Changes Made to Proxy Server Definition File are Not Reflected
■
Verify that changes to the proxy server definition file were saved and the listener was restarted.
■
For Microsoft IIS, verify that WWW Publishing Service was stopped and started from the Control Panel. This may take a few minutes.
Microsoft IIS Listener Displays Incomplete Pages or Garbled Characters
Do not display Microsoft IIS pages with a Sun Java System browser.
Parsing Error Occurs with Sun Java System 6.1 or 7.0
If you try to change the ports or turn on security for SSL, the server may return the error message Unable to parse magnus.conf.