osh-http-proxy.conf

Note

This module is optional, and disabled by default. To know more about the HTTP Proxy feature of The Bastion, please check the HTTPS Proxy section

Option List

HTTP Proxy configuration options

These options modify the behavior of the HTTP Proxy, an optional module of The Bastion

Option Reference

HTTP Proxy configuration

enabled

Type

bool

Default

false

Whether the HTTP proxy daemon daemon is enabled or not. If it's not enabled, it'll exit when started. Of course, if you want to enable this daemon, you should also configure your init system to start it for you. Both sysV-style scripts and systemd unit files are provided. For systemd, using systemctl enable osh-http-proxy.service should be enough. For sysV-style inits, it depends on the scripts provided for your distro, but usually update-rc.d osh-http-proxy defaults then update-rc.d osh-http-proxy enable should do the trick.

port

Type

int, 1 to 65535

Default

8443

The port to listen to. You can use ports < 1024, in which case privileges will be dropped after binding, but please ensure your systemd unit file starts the daemon as root in that case.

ssl_certificate

Type

string

Default

/etc/ssl/certs/ssl-cert-snakeoil.pem

The file that contains the server SSL certificate in PEM format. For tests, install the ssl-cert package and point this configuration item to the snakeoil certs (which is the default).

ssl_key

Type

string

Default

/etc/ssl/private/ssl-cert-snakeoil.key

The file that contains the server SSL key in PEM format. For tests, install the ssl-cert package and point this configuration item to the snakeoil certs (which is the default).

ciphers

Type

string

Default

""

Example

"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"

The ordered list the TLS server ciphers, in openssl classic format. Use openssl ciphers to see what your system supports, an empty list leaves the choice to your openssl libraries default values (system-dependent)

insecure

Type

bool

Default

false

Whether to ignore SSL certificate verification for the connection between the bastion and the devices

min_servers

Type

int, 1 to 512

Default

8

Number of child processes to start at launch

max_servers

Type

int, 1 to 512

Default

32

Hard maximum number of child processes that can be active at any given time no matter what

min_spare_servers

Type

int, 1 to 512

Default

8

The daemon will ensure that there is at least this number of children idle & ready to accept new connections (as long as max_servers is not reached)

max_spare_servers

Type

int, 1 to 512

Default

16

The daemon will kill idle children to keep their number below this maximum when traffic is low

timeout

Type

int, 1 to 3600

Default

120

Timeout delay (in seconds) for the connection between the bastion and the devices

log_request_response

Type

bool

Default

true

When enabled, the complete response of the device to the request we forwarded will be logged, otherwise we'll only log the response headers

log_request_response_max_size

Type

int, 0 to 2^30 (1 GiB)

Default

65536

This option only applies when log_request_response is true (see above). When set to zero, the complete response will be logged in the account's home log directory, including the body, regardless of its size. If set to a positive integer, the query response will only be partially logged, with full status and headers but the body only up to the specified size. This is a way to avoid turning off request response logging completely on very busy bastions, by ensuring logs growth don't get out of hand, as some responses to queries can take megabytes, with possibly limited added value to traceability.