Configuring the Proxy

The Oracle NoSQL Database Proxy should be configured after deploying a data store.

The following information should be obtained from the secure data store deployment:

Proxy Parameters

The following parameters can be provided as the command line arguments to start up the proxy.

Parameter Required ? Default Value Description
-helperHosts Required   Helper hosts are hostname and port pairs that identify how to contact helper nodes within the data store. Use an array of strings to identify multiple helper hosts . Typically, you will get these hostname and port pairs from the data store's deployer or administrator. Example pattern is "hostname1:port1,hostname2:port2,...hostnameX:portX"

Confirm that the ports in helper host list are left open by the firewall rules for connection between the proxy and data store server.

-storeName Required   Name of the data store. This name is obtained from data store deployment process.
-hostname No localhost The host name of the machine which is starting up the proxy instance.
-httpPort No 80 The HTTP port of the proxy machine which will be used by the proxy to accept non-secure connections from HTTP requests. This parameter is mutually exclusive with the -httpsPort parameter. Only one of these parameters can be specified.

Confirm that the port is left open by the firewall rules for connection between the proxy and the driver.

-httpsPort No 443 The HTTPS port of the proxy machine which will be used by the proxy to accept secure connections from HTTPS requests. This parameter is mutually exclusive with the -httpPort parameter. Only one of these parameters can be specified.

Confirm that the port is left open by the firewall rules for connection between the proxy and the driver.

-numAcceptThreads No 3 This value determines the thread pool size for the threads that are used to handle the incoming connections to the proxy.
-numRequestThreads No 32 This value determines the thread pool size for the threads that are used to handle the request input/output traffic, after the connection has been registered by the "AcceptThread" and handed over to the "RequestThread".
-verbose No false Displays the proxy start-up information. Can take either "true" or "false" as values.
-sslCertificate Required for secure proxy only.  

Path to the SSL certificate file in pem file format. You can either generate a self-signed certificate using OpenSSL, or send a request to a public CA to generate a certificate. See Generating Certificate and Private Key for the Oracle NoSQL Database Proxy in the Security Guide.

-sslPrivateKey Required for secure proxy only.   Path to the SSL private key file. You can either generate a private key using OpenSSL, or send a request to a public CA to generate a private key. See Generating Certificate and Private Key for the Oracle NoSQL Database Proxy in the Security Guide.
-sslPrivateKeyPass Required for secure proxy only.   Password for the private key, if the private key is encrypted. This parameter is not required if the private key is not encrypted.
-storeSecurityFile Required for secure proxy only.   Path to the security login file which is generated by the client user of the data store. The client user of the data store should be a non-admin proxy bootstrap user. To generate a login file, see Create users and configure security with remote access.

Note:

The Oracle NoSQL Database Proxy can run in one or multiple dedicated hosts. It can be hosted inside the nodes of the data store. You can use a load balancer as frontend which has a backend set of multiple NoSQL proxies on different hosts. When configuring a Load Balancer, you can add an HTTP health check. The Oracle NoSQL Database Proxy provides the following URI /V2/health endpoint to do it. An HTTP request to this URI will return a successful response 200 OK. You can find an example configuring HA proxy here: https://github.com/oracle/nosql-examples/tree/master/examples-nosql-cluster-deployment