1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-06-30 22:05:46 +00:00
Commit Graph

244 Commits

Author SHA1 Message Date
8fbc8514ef feat: Unconditionally produce debug comments
Rationale for eliminating the check to see if the `DEBUG` environment
variable holds a true value:
  * The `DEBUG` environment variable might be set on a container (for
    purposes specific to that container, not `nginx-proxy`) to a value
    that cannot be parsed as a bool, which would break `nginx-proxy`.
  * It simplifies the template.
  * It eliminates a cold code path.
  * It avoids heisenbugs.
  * It makes debugging easier for users.

Also delete the debug info tests, as they are fragile and they provide
limited value.

Alternatively, we could avoid collision with the container's use of
the `DEBUG` environment variable by using a container label [1] such
as `com.google.nginx-proxy.nginx-proxy.debug`.  I think doing so has
dubious value, especially if we want to attempt backwards
compatibility with the `DEBUG` environment variable.

Fixes #2139

[1] https://docs.docker.com/engine/reference/commandline/run/#-set-metadata-on-container--l---label---label-file

Co-authored-by: Nicolas Duchon <nicolas.duchon@gmail.com>
2023-01-18 17:27:04 -05:00
2427b383b5 chore: Move global variables to a $globals dict
Planned future changes will introduce more embedded templates, and the ability
to pass the globals to the templates will be useful.
2023-01-17 00:42:20 -05:00
1b253cd908 chore: Wrap long comments 2023-01-17 00:42:20 -05:00
0da38122bd chore: Consistent indentation 2023-01-17 00:42:20 -05:00
f20662eeaa chore: Use {{- instead of {{ to clean up whitespace 2023-01-17 00:42:20 -05:00
d6d8b2205f chore: Fix comment terminators 2023-01-17 00:42:20 -05:00
4651bf411d chore: Fix comment for $proxy_connection variable 2023-01-17 00:42:20 -05:00
744bd82c54 chore: Combine identical HTTP and HTTPS servers 2023-01-17 00:42:20 -05:00
491642b1e9 chore: Factor out duplicate virtual path code 2023-01-17 00:42:20 -05:00
14d0f3f222 chore: Rename $container to $containers
The value is actually a slice/array of containers so it should be
pluralized.
2023-01-17 00:42:20 -05:00
05423c681a fix: Use parseBool to parse boolean strings 2023-01-17 00:42:20 -05:00
c117ae8fd8 chore: Use boolean for $server_found variable 2023-01-17 00:42:20 -05:00
af877cf784 feat: Add proxy header X-Forwarded-Host
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2022-12-26 17:59:50 -05:00
6f4f9ec20c Merge pull request #1927 from rhansen/untrusted-headers
feat: Option to not trust `X-Forwarded-*` headers from clients
2022-12-26 20:47:05 +01:00
8aa00fcea2 feat: Option to not trust X-Forwarded-* headers from clients
If header values from a malicious client are passed to the backend
server unchecked and unchanged, the client may be able to subvert
security checks done by the backend server.
2022-12-19 02:48:01 -05:00
510d376f00 Make sure networks order is the same 2022-05-11 12:56:18 +00:00
998d56c473 chore: indent location, upstream in template 2022-04-14 13:32:58 +05:30
55d913255d Fix IPv6 HTTP listen port 2022-03-20 18:54:07 -04:00
b6b7133a2e fix: minor fixes on nginx template 2022-02-24 15:17:47 +01:00
08c9586346 fix: Handle VIRTUAL_PROTO on virtual path basis 2022-02-24 15:08:18 +01:00
28c74e8dae fix: Move NETWORK_ACCESS to location block 2022-02-24 15:08:18 +01:00
efb250da01 fix: use most specific custom location config first
Co-authored-by: Jonathan Underwood <junderwood@bitcoinbank.co.jp>
2022-02-24 15:08:17 +01:00
33eab70d32 feat: Add custom location block to virtual paths
This features allows the custom location blocks to be added to the
virtual path based routing. The custom config can be specified for each
container individually.
2022-02-24 15:08:17 +01:00
4b85e95824 feat: Replace path stripping with variable
This commit removes the automatic path stripping and replaces it with a
user configurable environment variable. This can be set individually for
each container.
2022-02-24 15:08:17 +01:00
9df330e51e feat: Add user customizable default root response 2022-02-24 15:08:15 +01:00
28c73e5b52 fix: non working https with virtual path 2022-02-24 15:07:49 +01:00
2901b917a0 feat: support for path-based routing
Co-authored-by: Josh Trow <josh.trow@gmail.com>
Co-authored-by: Adrian <WolfspiritM@users.noreply.github.com>
Co-authored-by: Rodrigo Aguilera <hi@rodrigoaguilera.net>
Co-authored-by: Alexander Lieret <alexander.lieret@fau.de>
2022-02-24 15:06:57 +01:00
fbf37456d0 feat: display container version 2022-01-11 22:38:30 +01:00
0780e636f9 Remove unnecessary tabs 2021-10-23 00:08:32 +09:00
e748ffdce4 feat: sha1 upstream names 2021-08-17 21:51:09 +02:00
89d37882b6 fix: always use sha1 of hostname as upstream name 2021-08-04 22:28:00 +02:00
dfc84558a5 fix: upstream fallback entry with load balancing 2021-06-21 00:48:21 +02:00
2006968c05 Merge pull request #1667 from pini-gh/pini-1609
Use `server 127.0.0.1 down` entry only when required
2021-06-20 18:04:19 +02:00
fca248a965 fix: server 127.0.0.1 down entry only when required 2021-06-15 23:54:24 +02:00
fa8b0d7bad fix: HTTPS redirection with custom HTTPS port 2021-06-15 00:33:06 +02:00
e9ab13781d Fix spacing 2021-06-09 20:51:51 +01:00
9f069a42ac Improve logging
Currently its almost impossible to know which host actually handled the request, this extra variable logs the upstream server too
2021-06-09 20:51:08 +01:00
97a5dec57a Honor VIRTUAL_PORT + DEBUG flag + fallback entry
The VIRTUAL_PORT environment variable should always be honored.
Even when the related port is not exposed.
Fix for nging-proxy/nginx-proxy#1132.

This commit also add the DEBUG environment variable which enables more
verbose comments in the nginx comfiguration file to help troubleshooting
unreachable containers.

Finaly it fixes nging-proxy/nginx-proxy#1105 as well by defining only one
fallback entry per upstream block.
2021-05-28 00:04:43 +02:00
fb7a11212f Make server_tokens configurable per virtual-host 2021-05-13 21:52:06 +01:00
e3e8d24930 Merge pull request #1185 from kressh/master
Set proper X-Forwarded-Ssl for SSL-terminated setups
2021-05-05 16:32:47 +02:00
85327a871e Suffix upstream names to prevent confusion with FQDNs 2021-04-29 02:21:19 +02:00
bf2d7295d3 Merge pull request #1409 from nginx-proxy/no-https-redirect-acme
Bring ACME no redirection inline with companion
2021-03-17 20:31:37 +01:00
b0c6c9f67e Merge pull request #1386 from juliushaertl/enh/hsts-https-method-fallback
Add fallback to the proxy containers env for HTTPS_METHOD and HSTS
2020-06-29 11:38:05 -06:00
8219788df6 Merge branch 'master' into master 2020-03-25 14:26:30 -06:00
944163d70d Bring ACME no redirection inline with companion
Add the following to the Let's Encrypt ACME challenge "no redirection to HTTPS"
https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion/pull/570
https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion/pull/335
2020-03-20 22:28:15 +01:00
b4709639b3 Merge pull request #1353 from nanawel/feature/custom-external-ports-support
Add support for custom external HTTP/HTTPS ports
2020-03-03 00:24:21 -05:00
4a2dc46002 Merge pull request #1198 from umevoshi/master
Add gRPC protocol support (#1345)
2020-02-11 11:45:53 -07:00
f8b4553eee Add fallback to the proxy containers env for HTTPS_METHOD and HSTS
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-30 08:24:38 +01:00
a3e64a9433 Add support for custom external HTTP/HTTPS ports (see https://groups.google.com/forum/#!topic/nginx-proxy/0I2jevmgTLI) 2019-11-03 14:48:16 +01:00
11d644d645 Do not HTTPS redirect Let'sEncrypt ACME challenge
The auto renewal of Let'sEncrypt certificates fails due to the HTTPS redirect of the ACME challenge.

This workaround resolves the issue:
https://gist.github.com/codekitchen/2c519eb7572002afab6a5f979cd42913#file-letsencrypt-diff

Found through this comment:
https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion/issues/526#issuecomment-476253642
2019-10-01 16:00:41 +02:00