Skip to content
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

build: bump nginxproxy/docker-gen from 0.14.0-debian to 0.14.1-debian #137

Open
wants to merge 11 commits into
base: pini
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Jul 31, 2024

Bumps nginxproxy/docker-gen from 0.14.0-debian to 0.14.1-debian.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

pini-gh and others added 11 commits June 11, 2024 21:59
to prevent using a broken nginx configuration (e.g. in case of missing certificates)
Syntax:
  VIRTUAL_PORT = [ <virtual_port> | <multiport> ];
  multiport    = port, { ",",  port };
  port         = <virtual_port> [ ":", <virtual_path> [ ":", <virtual_dest> ]];

Example with multiport syntax:
  VIRTUAL_HOST: "multiport.example.com"
  VIRTUAL_PORT: "9220:~ ^/(admin|fonts?|images|webmin)/,10901,20901:/ws2p,30901:/gva/playground"

Produces:
  # multiport.example.com:10901
  upstream multiport.example.com-10901 {
      # Exposed ports: [{   10901  tcp } {   20901  tcp } {   30901  tcp } {   9220  tcp }]
      # Default virtual port: 80
      # VIRTUAL_PORT: 10901
      ## Can be connected with "docker-gen-bridge" network
      # blah
      server 172.29.0.5:10901;
  }
  # multiport.example.com:20901/ws2p
  upstream multiport.example.com-5c7ebef820fe004e45e3af1d0c47971594d028b2-20901 {
      # Exposed ports: [{   10901  tcp } {   20901  tcp } {   30901  tcp } {   9220  tcp }]
      # Default virtual port: 80
      # VIRTUAL_PORT: 20901
      ## Can be connected with "docker-gen-bridge" network
      # blah
      server 172.29.0.5:20901;
  }
  # multiport.example.com:30901/gva/playground
  upstream multiport.example.com-1f02ce2421b17d828edaabfc3014360891bb0be3-30901 {
      # Exposed ports: [{   10901  tcp } {   20901  tcp } {   30901  tcp } {   9220  tcp }]
      # Default virtual port: 80
      # VIRTUAL_PORT: 30901
      ## Can be connected with "docker-gen-bridge" network
      # blah
      server 172.29.0.5:30901;
  }
  # multiport.example.com:9220~ ^/(admin|fonts?|images|webmin)/
  upstream multiport.example.com-cae8bfc2ea1fe6bb6fda08727ab065e8fed98aa2-9220 {
      # Exposed ports: [{   10901  tcp } {   20901  tcp } {   30901  tcp } {   9220  tcp }]
      # Default virtual port: 80
      # VIRTUAL_PORT: 9220
      ## Can be connected with "docker-gen-bridge" network
      # blah
      server 172.29.0.5:9220;
  }
  server {
      server_name multiport.example.com;
      access_log /var/log/nginx/access.log vhost;
      listen 80 ;
      location / {
          proxy_pass http://multiport.example.com-10901;
      }
      location /ws2p {
          proxy_pass http://multiport.example.com-5c7ebef820fe004e45e3af1d0c47971594d028b2-20901/;
      }
      location /gva/playground {
          proxy_pass http://multiport.example.com-1f02ce2421b17d828edaabfc3014360891bb0be3-30901;
      }
      location ~ ^/(admin|fonts?|images|webmin)/ {
          proxy_pass http://multiport.example.com-cae8bfc2ea1fe6bb6fda08727ab065e8fed98aa2-9220;
      }
  }

This feature is discussed in that upstream issue:
nginx-proxy#1504
VIRTUAL_HOST = host, { ",", host };
host         = <virtual_host>, [ ":", <virtual_port> ];

Where <virtual_host> define one virtual host, and <virtual_port> one
virtual port.

For virtual hosts defined with a dedicated port (say app.example.com:1234),
the variable VIRTUAL_PORT is ignored and the dedicated port is used as
its virtual port.

Example:

  VIRTUAL_HOST: "web.nginx-proxy.tld, web1.nginx-proxy.tld:84"
  VIRTUAL_PORT: "80,81:/81:/,82:/82:/port,83:~ ^/[8][3]"

would generate a snippet like the one below for host web1:

  # web1.nginx-proxy.tld
  upstream web1.nginx-proxy.tld_84 {
      # Exposed ports: [{   80  tcp } {   81  tcp } {   82  tcp } {   83  tcp } {   84  tcp }]
      # Default virtual port: 80
      # VIRTUAL_PORT: 84
      ## Can be connected with "bridge" network
      # test_multiport_syntax_web_1
      server 172.17.0.2:84;
  }
  server {
      server_name web1.nginx-proxy.tld;
      listen 80 ;
      access_log /var/log/nginx/access.log vhost;
      location / {
          proxy_pass http://web1.nginx-proxy.tld_84;
      }
  }
This allows forwarding SSL request directly to the upstream server via
nginx TCP Stream.

Example use case:
nginx-proxy (80) ------> nginx (80) --------> application (8080)
nginx-proxy (443) -----> nginx (443) -------> application (8080)
(See nginx-proxy#929)

Uses solution from:
https://stackoverflow.com/questions/34741571/nginx-tcp-forwarding-based-on-hostname/40135151#40135151
Combined with the HTTPS passthrough feature this allow for easy chaining
several nginx-proxy. Very usefull for testing when one has only one server
to work with.
to use with HTTPS_METHOD=passthrough.
When file vhost.d/<virtual_host>_stream exists, generates this
snippet into nginx-stream.conf:

  upstream <virtual_host> {
      ## Can be connected with <network> network
      # Exposed ports: <exposed_ports>
      # Default virtual port: <default_port>
      # VIRTUAL_PORT: <virtual_port>
      # <container_name>
      server <server_ip>:<port>;
      # Fallback entry
      server 127.0.0.1:<port> down;
  }
  include /etc/nginx/vhost.d/<virtual_host>_stream;

The vhost.d/<virtual_host>_stream file can contain snippets such as:

  server {
      listen    127.0.0.1:<stream_port>;
      proxy_upload_rate 5m;
      proxy_pass <virtual_host>;
  }
Bumps nginxproxy/docker-gen from 0.14.0-debian to 0.14.1-debian.

---
updated-dependencies:
- dependency-name: nginxproxy/docker-gen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Copy link
Author

dependabot bot commented on behalf of github Jul 31, 2024

The following labels could not be found: type/build, scope/dockerfile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant