Flags
The NATS server has many flags to customize its behavior without having to write a configuration file.
The configuration flags revolve around:
- Server Options
- Logging
- Authorization
- TLS Security
- Clustering
- Information
Server Options
| Flag | Description | 
|---|---|
| -a,--addr | Host address to bind to (default: 0.0.0.0- all interfaces). | 
| -p,--port | NATS client port (default: 4222). | 
| -P,--pid | File to store the process ID (PID). | 
| -m,--http_port | HTTP port for monitoring dashboard (exclusive of --https_port). | 
| -ms,--https_port | HTTPS port monitoring for monitoring dashboard (exclusive of --http_port). | 
| -c,--config | Path to NATS server configuration file. | 
| -sl,--signal | Send a signal to nats-server process. See process signaling. | 
| --client_advertise | Client HostPort to advertise to other servers. | 
| -t | Test configuration and exit | 
Authentication Options
The following options control straightforward authentication:
| Flag | Description | 
|---|---|
| --user | Required username for connections (exclusive of --token). | 
| --pass | Required password for connections (exclusive of --token). | 
| --auth | Required authorization token for connections (exclusive of --userand--password). | 
See token authentication, and username/password for more information.
Logging Options
The following flags are available on the server to configure logging:
| Flag | Description | 
|---|---|
| -l,--log | File to redirect log output | 
| -T,--logtime | Specify -T=falseto disable timestamping log entries | 
| -s,--syslog | Log to syslog or windows event log | 
| -r,--remote_syslog | The syslog server address, like udp://localhost:514 | 
| -D,--debug | Enable debugging output | 
| -V,--trace | Enable protocol trace log messages | 
| -DV | Enable both debug and protocol trace messages | 
| --max_traced_msg_len | Maximum printable length for traced messages. 0 for unlimited | 
You can read more about logging configuration here.
TLS Options
| Flag | Description | 
|---|---|
| --tls | Enable TLS, do not verify clients | 
| --tlscert | Server certificate file | 
| --tlskey | Private key for server certificate | 
| --tlsverify | Enable client TLS certificate verification | 
| --tlscacert | Client certificate CA for verification | 
Cluster Options
The following flags are available on the server to configure clustering:
| Flag | Description | 
|---|---|
| --routes | Comma-separated list of cluster URLs to solicit and connect | 
| --cluster | Cluster URL for clustering requests | 
| --no_advertise | Do not advertise known cluster information to clients | 
| --cluster_advertise | Cluster URL to advertise to other servers | 
| --connect_retries | For implicit routes, number of connect retries | 
You can read more about clustering configuration here.
Common Options
| Flag | Description | 
|---|---|
| -h,--help | Show this message | 
| -v,--version | Show version | 
| --help_tls | TLS help |