PreviousNextIndex
Good Technology

Advanced Configuration

The following properties are available for fine-tuning your server installation. Do not use these properties unless directed by Good Technical Support.

HTTP Request and Response Management

Connections to a Web Server

You can configure Good Intranet Server to time out if it cannot connect to a web server within a specified length of time. You can also turn logging on to record problems in connecting to web servers.

The time-out settings is useful for preventing excessive wait times when a handheld tries to access a site supported by an overloaded or downed web server. The logging setting is useful for troubleshooting web server connection problems.

Properties for HTTP connections include:

Property Name
Default
Description
thread.min
50
The number of threads to allocate, prior to startup, for handling HTTP requests.
thread.max
200
The maximum number of concurrent threads to allow for handling HTTP requests.
thread.queuesize
1000
The maximum number of HTTP requests the server will handle. The total includes active threads and requests in queue, waiting for connection threads from the thread pool.
http.timeout
60000
The maximum length of time to wait for a connection to a web server, in milliseconds. The default is equivalent to one minute.
http.localhost
###.###.###.###
The IP address or host name to be used in sending packets to a web server. If you do not specify a localhost value, the server uses the default IP address of its host system.
http.keepalive.default.
connection.reuse
15
The maximum number of times to reuse a persistent connection before closing it and creating a new connection.
http.keepalive.default.
idle.timeout
60000
The maximum length if time to wait for a connection to be closed, in milliseconds.

Outgoing Proxy Support

You can configure Good Intranet Server to use proxy servers for the HTTP and HTTPS (secure HTTP) requests it receives. There can be multiple servers for each protocol. For example, you can define a proxy server for all HTTP requests sent to HTTP://www.oneurl.com and a separate proxy for all HTTP requests sent to HTTP://www.twourl.com. Similarly, you can define separate proxy servers for HTTPS requests sent to the same destinations.

For each proxy server you define, you need to assign the proxy a proxy name and configure the following properties:

For a single proxy, there may be multiple rules, each with its own rule name.

For proxies that need to authenticate themselves in order to access an HTTP realm, you also need to set the following properties:

Proxies for HTTPS require an additional property:

proxy.proxy_name.options

Thus, for two HTTP proxies, HTTP_Proxy1 and HTTP_Proxy2 and one HTTPS proxy, HTTPS_Proxy1, you potentially have the following sets of properties:

proxy.Http_Proxy1.host
proxy.Http_Proxy2.host
proxy.Https_Proxy1.host
proxy.Http_Proxy1.port
proxy.Http_Proxy2.port
proxy.Https_Proxy1.port
   
proxy.Https_Proxy1.options
proxy.Http_Proxy1.
realm.username
proxy.Http_Proxy2.realm.username
proxy.Https_Proxy1.realm.username
proxy.Http_Proxy1.
realm.password
proxy.Http_Proxy2.realm.password
proxy.Https_Proxy1.realm.password

In addition, for each proxy there must be one or more proxy.rule_name.rule properties.

Properties for proxy server set up and logging include:

Property Name
Default
Description
proxy.enable
false
Enables Good Intranet Server to use a proxy server for making HTTP requests.
proxy.log.enable
false
Enables logging of proxy configuration information.
proxy.proxy_name.
host
<hostname> | <IP address>
The host name or IP address of the proxy server identified by proxy_name. The identifier you set for proxy_name is used in subsequent properties
proxy.proxy_name.
port
<port>
The port on which the named proxy receives requests.
proxy.exceptions
none
Defines the URLs that are not routed through the proxy server. These URLs are defined using regular expressions.
proxy.proxy_name.
options
tunnelssl | nonsecure
If the proxy named in the property is used for HTTPS, one of the following options, or a combination of the two options:
tunnelssl
The server tunnels SSL through the proxy to the web server. Good Intranet Server opens an SSL connection to the web server by means of the proxy. HTTPS requests and responses then go through the proxy, but are only decrypted at the web server or Good Intranet Server not at the proxy.
nonsecure
Communication between Good Intranet Server and the proxy is carried out over a nonsecure connection, but communication between the proxy and the web server is carried out over SSL.
You can combine the two options, by entering both of them, separated by a space. In this case, Good Intranet Server tries the first option and, if this fails, it tries the second option.
For example, to have the server attempt to establish an SSL tunneling connection, but switch to a nonsecure connection if this fails, you would enter:
tunnelssl nonsecure
Note: To combine options, make sure you remove the "|" separator between options that appears in the default properties file.
proxy.rule_name.
rule
<protocol>://<regex> <proxy_name>
Names and defines a proxy rule. A proxy rule specifies a URL-matching pattern (a regular expression) and a proxy name.
When the browser makes a request, the requested URL is matched against the patterns in all proxy rules and the rule with the most specific pattern is selected.
The server accesses the URL via the proxy named in the selected rule. If the URL does not match any pattern or if the selected rule's proxy is the special keyword noproxy then no proxy is used and the server accesses the URL directly.
The URL-matching pattern in a proxy rule must start with the protocol, either HTTP:// or HTTPS:/
 
For example, the following three rules might be used in an enterprise intranet environment where internet traffic is proxied through the firewall and intranet traffic is allowed a direct connection. The proxy for internet traffic is publicproxy.
proxy.http.rule http://* publicproxy
proxy.https.rule https://* publicproxy
proxy.intranet.rule http://corp.intranet noproxy
The following rules proxy a specific host that can't be accessed directly:
proxy.xyz_http.rule http://xyz.com proxyToXyz
proxy.xyz_https.rule  https://xyz.com proxyToXyz
proxy.proxy_name.
realm.username
<username>
Specifies the user name that the named proxy needs to use for authentication when it accesses the HTTP realm entered for the realm component of the property name.
For example, suppose Proxy server proxy_1 is used for HTTP requests sent to
www.gaerver.com/pubs/docs, the realm gapubs contains www.gaerver.com/pubs/docs, and the user name required for accessing gapubs is pubsusr. In this case, you would set proxy.proxy_name.realm.username as follows:
proxy.proxy_1.gapubs.username pubsusr
proxy.proxy_name.
realm.password
<password>
Specifies the password that the named proxy needs to use for authentication when it accesses the HTTP realm entered for the realm component of the property name.
Continuing the example above, if the password for gapubs were pubpass, you would set:
 
proxy.proxy_1.gapubs.password pubpass

proxy.e

Proxy Log

The proxy log records the proxy name assigned to a proxy server (proxy.proxy_name.host)and port (proxy.proxy_name.port) and lists each proxy rule (proxy.rule_name.rule) assigned to the proxy.

The following are some examples of proxy log entries for a single proxy server.

[18/Jun/2006:13:43:18.136 PDT] [Info] Proxy Manager: Proxy rcproxy=
192.168.1.1:8080 added
[18/Jun/2006:13:43:18.186 PDT] [Info] Proxy Manager: Rule http://www.rcdocs.com/* : rcproxy added
[18/Jun/2006:13:43:18.186 PDT] [Info] Proxy Manager: Rule http://www.GoodIntranet.com/public/* : rcproxy added

In the first entry, the proxy named rcproxy has been assigned to the proxy server at IP address 192.168.1.1, using port 8080.

The second and third entries show the proxy rules for using rcproxy. The rule in the second entry assigns all HTTP requests sent to www.rcdocs.com to rcproxy. The rule in the third entry assigns all requests to rcproxy that contain the URL HTTP://www.Good Intranet.com/public.


Good Technology
www.good.com
Voice: 1 866-7-BE-GOOD
sales@good.com
PreviousNextIndex