-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Clean up network setting docs #88929
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
DaveCTurner
merged 3 commits into
elastic:main
from
DaveCTurner:2022-07-29-network-setting-types
Aug 1, 2022
Merged
Changes from 2 commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -6,7 +6,7 @@ independently of the <<transport-settings,transport interface>>. You can also | |||||
| configure both interfaces together using the <<common-network-settings,network settings>>. | ||||||
|
|
||||||
| `http.host`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| Sets the address of this node for HTTP traffic. The node will bind to this | ||||||
| address and will also use it as its HTTP publish address. Accepts an IP | ||||||
| address, a hostname, or a <<network-interface-values,special value>>. | ||||||
|
|
@@ -16,7 +16,7 @@ transport and HTTP interfaces. | |||||
| Defaults to the address given by `network.host`. | ||||||
|
|
||||||
| `http.bind_host`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| The network address(es) to which the node should bind in order to listen for | ||||||
| incoming HTTP connections. Accepts a list of IP addresses, hostnames, and | ||||||
| <<network-interface-values,special values>>. Defaults to the address given by | ||||||
|
|
@@ -26,7 +26,7 @@ binding, and you also require different binding configurations for the | |||||
| transport and HTTP interfaces. | ||||||
|
|
||||||
| `http.publish_host`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| The network address for HTTP clients to contact the node using sniffing. | ||||||
| Accepts an IP address, a hostname, or a <<network-interface-values,special | ||||||
| value>>. Defaults to the address given by `http.host` or | ||||||
|
|
@@ -36,27 +36,27 @@ and you also require different binding configurations for the transport and | |||||
| HTTP interfaces. | ||||||
|
|
||||||
| `http.publish_port`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| The port of the <<modules-network-binding-publishing,HTTP publish address>>. | ||||||
| Configure this setting only if you need the publish port to be different from | ||||||
| `http.port`. Defaults to the port assigned via `http.port`. | ||||||
|
|
||||||
| `http.max_content_length`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| Maximum size of an HTTP request body. Defaults to `100mb`. | ||||||
|
|
||||||
| `http.max_initial_line_length`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| Maximum size of an HTTP URL. Defaults to `4kb`. | ||||||
|
|
||||||
| `http.max_header_size`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| Maximum size of allowed headers. Defaults to `16kb`. | ||||||
|
|
||||||
| [[http-compression]] | ||||||
| // tag::http-compression-tag[] | ||||||
| `http.compression` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Support for compression when possible (with Accept-Encoding). If HTTPS is enabled, defaults to `false`. Otherwise, defaults to `true`. | ||||||
| + | ||||||
| Disabling compression for HTTPS mitigates potential security risks, such as a | ||||||
|
|
@@ -65,13 +65,13 @@ you must explicitly set `http.compression` to `true`. | |||||
| // end::http-compression-tag[] | ||||||
|
|
||||||
| `http.compression_level`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| Defines the compression level to use for HTTP responses. Valid values are in the range of 1 (minimum compression) and 9 (maximum compression). Defaults to `3`. | ||||||
|
|
||||||
| [[http-cors-enabled]] | ||||||
| // tag::http-cors-enabled-tag[] | ||||||
| `http.cors.enabled` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Enable or disable cross-origin resource sharing, which determines whether a browser on another origin can execute requests against {es}. Set to `true` to enable {es} to process pre-flight | ||||||
| {wikipedia}/Cross-origin_resource_sharing[CORS] requests. | ||||||
| {es} will respond to those requests with the `Access-Control-Allow-Origin` header if the `Origin` sent in the request is permitted by the `http.cors.allow-origin` list. Set to `false` (the default) to make {es} ignore the `Origin` request header, effectively disabling CORS requests because {es} will never respond with the `Access-Control-Allow-Origin` response header. | ||||||
|
|
@@ -85,7 +85,7 @@ compromised. If CORS is not enabled on {es}, the only way for the client to know | |||||
| [[http-cors-allow-origin]] | ||||||
| // tag::http-cors-allow-origin-tag[] | ||||||
| `http.cors.allow-origin` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| Which origins to allow. If you prepend and append a forward slash (`/`) to the value, this will be treated as a regular expression, allowing you to support HTTP and HTTPs. For example, using `/https?:\/\/localhost(:[0-9]+)?/` would return the request header appropriately in both cases. Defaults to no origins allowed. | ||||||
| + | ||||||
| IMPORTANT: A wildcard (`*`) is a valid value but is considered a security risk, as your {es} instance is open to cross origin requests from *anywhere*. | ||||||
|
|
@@ -95,109 +95,117 @@ IMPORTANT: A wildcard (`*`) is a valid value but is considered a security risk, | |||||
| [[http-cors-max-age]] | ||||||
| // tag::http-cors-max-age-tag[] | ||||||
| `http.cors.max-age` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| Browsers send a "preflight" OPTIONS-request to determine CORS settings. `max-age` defines how long the result should be cached for. Defaults to `1728000` (20 days). | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| Browsers send a "preflight" OPTIONS-request to determine CORS settings. | ||||||
| `max-age` defines for how long, in seconds, the result should be cached. | ||||||
| Defaults to `1728000` (20 days). | ||||||
| // end::http-cors-max-age-tag[] | ||||||
|
|
||||||
| [[http-cors-allow-methods]] | ||||||
| // tag::http-cors-allow-methods-tag[] | ||||||
| `http.cors.allow-methods` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| Which methods to allow. Defaults to `OPTIONS, HEAD, GET, POST, PUT, DELETE`. | ||||||
| // end::http-cors-allow-methods-tag[] | ||||||
|
|
||||||
| [[http-cors-allow-headers]] | ||||||
| // tag::http-cors-allow-headers-tag[] | ||||||
| `http.cors.allow-headers` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, string) | ||||||
| Which headers to allow. Defaults to `X-Requested-With, Content-Type, Content-Length`. | ||||||
| // end::http-cors-allow-headers-tag[] | ||||||
|
|
||||||
| [[http-cors-allow-credentials]] | ||||||
| // tag::http-cors-allow-credentials-tag[] | ||||||
| `http.cors.allow-credentials` {ess-icon}:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Whether the `Access-Control-Allow-Credentials` header should be returned. Defaults to `false`. | ||||||
| + | ||||||
| NOTE: This header is only returned when the setting is set to `true`. | ||||||
|
|
||||||
| // end::http-cors-allow-credentials-tag[] | ||||||
|
|
||||||
| `http.detailed_errors.enabled`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| If `true`, enables the output of detailed error messages and stack traces in the response output. Defaults to `true`. | ||||||
| + | ||||||
| If `false`, use the `error_trace` parameter to <<common-options-error-options,enable stack traces>> and return detailed error messages. Otherwise, only a simple message will be returned. | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Configures whether detailed errors may be returned in HTTP responses. Defaults | ||||||
| to `true`, which means that HTTP requests which include | ||||||
| <<common-options-error-options,`?error_trace` URI parameter>> will return a | ||||||
| detailed error message including a stack trace if they encounter an exception. | ||||||
| If set to `false`, requests with the `?error_trace` parameter are rejected. | ||||||
|
|
||||||
| `http.pipelining.max_events`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| The maximum number of events to be queued up in memory before an HTTP connection is closed, defaults to `10000`. | ||||||
|
|
||||||
| `http.max_warning_header_count`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| The maximum number of warning headers in client HTTP responses. Defaults to `unbounded`. | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| The maximum number of warning headers in client HTTP responses. Defaults to | ||||||
| `-1` which means the number of warning headers is unlimited. | ||||||
|
|
||||||
| `http.max_warning_header_size`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| The maximum total size of warning headers in client HTTP responses. Defaults to `unbounded`. | ||||||
|
|
||||||
| `http.tcp.no_delay`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| Enable or disable the {wikipedia}/Nagle%27s_algorithm[TCP no delay] | ||||||
| setting. Defaults to `network.tcp.no_delay`. | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| The maximum total size of warning headers in client HTTP responses. Defaults to | ||||||
| `-1` which means the size of the warning headers is unlimited. | ||||||
|
|
||||||
| `http.tcp.keep_alive`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| Configures the `SO_KEEPALIVE` option for this socket, which | ||||||
| determines whether it sends TCP keepalive probes. | ||||||
| Defaults to `network.tcp.keep_alive`. | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Configures the `SO_KEEPALIVE` option for this socket, which determines whether | ||||||
| it sends TCP keepalive probes. Defaults to `network.tcp.keep_alive`. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a |
||||||
|
|
||||||
| `http.tcp.keep_idle`:: | ||||||
| (<<static-cluster-setting,Static>>) Configures the `TCP_KEEPIDLE` option for this socket, which | ||||||
| determines the time in seconds that a connection must be idle before | ||||||
| starting to send TCP keepalive probes. Defaults to `network.tcp.keep_idle`, which | ||||||
| uses the system default. This value cannot exceed `300` seconds. Only applicable on | ||||||
| Linux and macOS, and requires Java 11 or newer. | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| Configures the `TCP_KEEPIDLE` option for HTTP sockets, which determines the | ||||||
| time in seconds that a connection must be idle before starting to send TCP | ||||||
| keepalive probes. Defaults to `network.tcp.keep_idle`, which uses the system | ||||||
lockewritesdocs marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| default. This value cannot exceed `300` seconds. Only applicable on Linux and | ||||||
| macOS. | ||||||
|
|
||||||
| `http.tcp.keep_interval`:: | ||||||
| (<<static-cluster-setting,Static>>) Configures the `TCP_KEEPINTVL` option for this socket, | ||||||
| which determines the time in seconds between sending TCP keepalive probes. | ||||||
| Defaults to `network.tcp.keep_interval`, which uses the system default. | ||||||
| This value cannot exceed `300` seconds. Only applicable on Linux and macOS, and requires | ||||||
| Java 11 or newer. | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| Configures the `TCP_KEEPINTVL` option for HTTP sockets, which determines the | ||||||
| time in seconds between sending TCP keepalive probes. Defaults to | ||||||
| `network.tcp.keep_interval`, which uses the system default. This value cannot | ||||||
lockewritesdocs marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| exceed `300` seconds. Only applicable on Linux and macOS. | ||||||
|
|
||||||
| `http.tcp.keep_count`:: | ||||||
| (<<static-cluster-setting,Static>>) Configures the `TCP_KEEPCNT` option for this socket, which | ||||||
| determines the number of unacknowledged TCP keepalive probes that may be | ||||||
| sent on a connection before it is dropped. Defaults to `network.tcp.keep_count`, | ||||||
| which uses the system default. Only applicable on Linux and macOS, and | ||||||
| requires Java 11 or newer. | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| Configures the `TCP_KEEPCNT` option for HTTP sockets, which determines the | ||||||
| number of unacknowledged TCP keepalive probes that may be sent on a connection | ||||||
| before it is dropped. Defaults to `network.tcp.keep_count`, which uses the | ||||||
lockewritesdocs marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| system default. Only applicable on Linux and macOS. | ||||||
|
|
||||||
| `http.tcp.no_delay`:: | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Configures the `TCP_NODELAY` option on HTTP sockets, which determines whether | ||||||
| {wikipedia}/Nagle%27s_algorithm[TCP no delay] is enabled. Defaults to `true`. | ||||||
|
|
||||||
| `http.tcp.reuse_address`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| Should an address be reused or not. Defaults to `network.tcp.reuse_address`. | ||||||
| (<<static-cluster-setting,Static>>, boolean) | ||||||
| Configures the `SO_REUSEADDR` option for HTTP sockets, which determines whether | ||||||
| the address can be reused or not. Defaults to `false` on Windows and `true` | ||||||
| otherwise. | ||||||
|
|
||||||
| `http.tcp.send_buffer_size`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| The size of the TCP send buffer (specified with <<size-units,size units>>). | ||||||
| Defaults to `network.tcp.send_buffer_size`. | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| The size of the TCP send buffer for HTTP traffic. Defaults to | ||||||
| `network.tcp.send_buffer_size`. | ||||||
lockewritesdocs marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| `http.tcp.receive_buffer_size`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| The size of the TCP receive buffer (specified with <<size-units,size units>>). | ||||||
| Defaults to `network.tcp.receive_buffer_size`. | ||||||
| (<<static-cluster-setting,Static>>, <<byte-units,byte value>>) | ||||||
| The size of the TCP receive buffer for HTTP traffic. Defaults to | ||||||
| `network.tcp.receive_buffer_size`. | ||||||
lockewritesdocs marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| `http.client_stats.enabled`:: | ||||||
| (<<dynamic-cluster-setting,Dynamic>>) | ||||||
| (<<dynamic-cluster-setting,Dynamic>>, boolean) | ||||||
| Enable or disable collection of HTTP client stats. Defaults to `true`. | ||||||
|
|
||||||
| `http.client_stats.closed_channels.max_count`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, integer) | ||||||
| When `http.client_stats.enabled` is `true`, sets the maximum number of closed | ||||||
| HTTP channels for which {es} reports statistics. Defaults to `10000`. | ||||||
|
|
||||||
| `http.client_stats.closed_channels.max_age`:: | ||||||
| (<<static-cluster-setting,Static>>) | ||||||
| (<<static-cluster-setting,Static>>, <<time-units,time value>>) | ||||||
| When `http.client_stats.enabled` is `true`, sets the maximum length of time | ||||||
| after closing a HTTP channel that {es} will report that channel's statistics. | ||||||
| Defaults to `5m`. | ||||||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think
may beis correct here. By default we don't return detailed errors even ifhttp.detailed_errors.enabled: true- this setting just permits the use of the?error_traceparameter.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See 72be4ee for an alternative.