Applicable in Init-class directive.
The um-define-junction function defines a URL Mapping or junction which will be enforced by the URL Mapping layer.
Junction definitions take two forms: junction definitions and junction mappings. A junction definition defines the overall settings for a junction. A junction mapping defines additional URL mappings that also apply to a given junction definition. They inherit all settings of the parent junction's definition, but they allow other URL mappings that are appropriate to a given junction to be associated with it. This becomes important for cookie management, as cookies from one junction will not be passed to another one.
Init fn="um-define-junction"
The following table describe parameters for the um-define-junction function.
The following parameters apply to both junction definitions and junction mappings.
Table 5–26 um-define-junction parameters
Parameter |
Description |
---|---|
jct-name |
The name of the junction. In the case of junction definitions, this name must be unique. In the case of junction mappings, this must be the name of an existing junction. |
fe-uri-prefix |
The front-end URI prefix that is to be associated with this junction definition or mapping. It must begin and end with a '/' character. |
be-url-prefix |
The back-end URL prefix that is to be associated with this junction definition or mapping. This is the back-end URL that will connect to the back-end application server. It must be of the form http[s]://*/*. |
The following parameters apply only to junction mappings.
Table 5–27 Junction mapping parameters
Parameter |
Description |
---|---|
junction-mapping |
If this is set to yes, then this definition is taken to be a junction mapping. |
The following parameters apply only to junction definitions.
Table 5–28 Junction definition parameters
Parameter |
Description |
---|---|
parser-config |
Specifies the parser configuration used for this junction. If not specified, the default parser configuration (the first parser configuration listed in obj.conf) is used. |
passthru-cookies |
Specifies a comma-separated list of cookie names is passed through to the junction without translation. This parameter is a junction-specific version of the global-passthru-cookies parameter of the load-modules function. |
has-javascript |
If set to yes, then JavaScript rewriting is enabled for all JavaScript content. Otherwise, JavaScript is passed without rewriting. |
onload-handler |
If set to yes, then a special bit of code is inserted into each request to this junction, which will set a cookie specifying the name of the junction. This cookie's name is defined in the jct-cookie-name of the load-modules function. By default, the cookie's name is um_jct. |
base-tag-handler |
If set to yes, then <base> tags receives special handling. Use care when combining this parameter with has-javascript, as the parser may mistake a static string value for a relative URL. Default value is no. |
rewrite-events |
If set to no, then event attributes within HTML tags are not rewritten. Default value is yes. This parameter operates independently of has-javascript, but is only relevant if has-javascript is set to no. |
redirect-without-trailing-slash |
If set to yes, then requests that match fe-uri-prefix without the trailing slash is immediately redirected to fe-uri-prefix with the trailing slash. |
add-headers |
Specifies a static list of headers to be added to all requests within this junction. |
lookup-equiv-hosts |
Equivalent host are strings that appear in the host part of a URL, which also represent the back-end server. By default, a new junction adds the back-end server's IP addresses to this list. Setting this option to 'no' prevents this behavior. |
add-equiv-hosts |
Specifies a comma-delimited list of additional host names (and/or IP addresses) that are considered to be equivalent to this junction's host name. The host part of be-url-prefix is implicit, and does not need to be added. |
output-buffer-size |
Enables (or disables) output buffering. The proxy server employs HTTP chunking to send data to the client when it does not know the size of the content to be sent. Because the URL Mapping layer can send data in many small chunks, this can create a lot of CPU overhead on the proxy server machine. To alleviate this, URL Mapping offers its own output buffering so that data is sent to the client in fewer, larger chunks. To enable this, set output-buffer-size to a nonzero value. |
references-other-jcts |
If set to yes, the other junctions are searched when trying to rewrite URLs for this junction. Use care when employing this option, as searching other junctions can be time-consuming in a configuration that contains many junctions. |
use-template |
If set to yes, and name is not set, then requests that match this junction is also assigned an object name that matches the junction's name. This allows additional directives to be executed only for this junction. |
name |
If set, then this overrides the object name for this junction. It implies use-template=yes. |
Junction definition:
Init fn="um-define-junction" jct-name="myJunction" fe-uri-prefix="/myj/" be-url-prefix="http://appserver.company.com/someApplication/" |
Junction mapping:
Init fn="um-define-junction" jct-name="myJunction" fe-uri-prefix="/someApplication/cgi-bin/" be-url-prefix="http://appserver.company.com/someApplication/cgi-bin" junction-mapping="yes" |