Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions administration/http-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,14 @@ The `HTTP_PROXY` environment variable is a [standard way](https://docs.docker.co

**Note**: HTTP proxy is also supported using the [HTTP output plugin](https://docs.fluentbit.io/manual/pipeline/outputs/http). This configuration continues to work, however it _should not_ be used together with the `HTTP_PROXY` environment variable. This is because under the hood, the `HTTP_PROXY` environment variable based proxy support is implemented by setting up a TCP connection tunnel via [HTTP CONNECT](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/CONNECT). Unlike the plugin's implementation, this supports both HTTP and HTTPS egress traffic.

# NO_PROXY

In some environments, we wish HTTP traffic for some domains don't go through the HTTP_PROXY, and this is where we need to use `NO_PROXY` environment variable.

`NO_PROXY` is a comma-separated list of host names that shouldn't go through any proxy is set in (only an asterisk, * matches all hosts), e.g. `foo.com,bar.com`. This is as a [curl convention](https://curl.se/docs/manual.html).

One typical use case for `NO_PROXY` is when running fluent-bit in a Kubernetes environment, where we want:

* All real egress traffic goes through a HTTP proxy.
* All "Kubernetes local" traffic does not go through the HTTP proxy.
* We can set `NO_PROXY=127.0.0.1,localhost,kubernetes.default.svc` in this case.