Connecting through a proxy

The client can work behind a proxy, which is a common situation in large enterprises. The client will read the standard variable “http_proxy” in order to detect such configuration automatically. The configuration however can also be done through these system properties:

-Dhttp.proxy.host=<host> -Dhttp.proxy.port=<port> -Dhttp.proxy.user=<username> -Dhttp.proxy.pass=<password>

Both “host” and “port” properties need to be defined in order for the proxy to be used. When that happens, the client will echo to you that a proxy is being used while he tries to authorize itself, in a format similar to this one:

$ java -Dhttp.proxy.host=proxy.acme.org -Dhttp.proxy.port=3128 -jar
~/apps/meterian-cli.jar -
Meterian Client v0.4.6
All rights reserved
[…]
Authorizing the client...
Using http proxy: http://proxy.acme.org:3128
[…]

Furthermore, when you launch the client with the “--help” parameter it will also test the connectivity to the servers, as in this example:

$ java -jar ~/apps/meterian-cli.jar --help
Meterian Client v1.2.6, build 09ce5de-283
All rights reserved
--help Displays this help end exits(0)
[...]
Using http proxy http://proxy.acme.org:3128
Using authentication for proxy username:***
Meterian servers are reachable from this system

You also have a couple of fine grained controls over your http stack, which we honestly think will be rarely used but we list here as a matter of completeness, with their default:

-Dhttp.connect.timeout.millis=9000

The timeout in milliseconds to estabilish a connection over http/https

-Dhttp.socket.timeout.millis=8000

The timeout in milliseconds before declaring a connection over http/https dead.