1
0
Fork 0
mirror of https://github.com/nginx-proxy/nginx-proxy synced 2024-05-06 15:46:09 +02:00

fix: Ignore `VIRTUAL_HOST` set to the empty string

Fixes #2144
This commit is contained in:
Richard Hansen 2023-01-21 19:11:28 -05:00
parent f8ae0a4b00
commit 8346b68a28
3 changed files with 51 additions and 0 deletions

View File

@ -271,6 +271,10 @@ server {
{{- range $host, $containers := groupByMulti $globals.containers "Env.VIRTUAL_HOST" "," }}
{{- $host := trim $host }}
{{- if not $host }}
{{- /* Ignore containers with VIRTUAL_HOST set to the empty string. */}}
{{- continue }}
{{- end }}
{{- $is_regexp := hasPrefix "~" $host }}
{{- $upstream_name := when (or $is_regexp $globals.sha1_upstream_name) (sha1 $host) $host }}

View File

@ -0,0 +1,10 @@
import re
def test_vhost_empty_string(docker_compose, nginxproxy):
conf = nginxproxy.get_conf().decode()
assert re.search(r"(?m)^\s*server_name\s+web2\.nginx-proxy\.test\s*;", conf)
assert re.search(r"(?m)^\s*server_name\s+web3\.nginx-proxy\.test\s*;", conf)
assert re.search(r"(?m)^\s*server_name\s+web4a\.nginx-proxy\.test\s*;", conf)
assert re.search(r"(?m)^\s*server_name\s+web4b\.nginx-proxy\.test\s*;", conf)
assert not re.search(r"(?m)^\s*server_name\s*;", conf)

View File

@ -0,0 +1,37 @@
services:
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
web1:
image: web
expose:
- "81"
environment:
WEB_PORTS: "81"
# The space is intentional (should be trimmed).
VIRTUAL_HOST: " "
web2:
image: web
expose:
- "82"
environment:
WEB_PORTS: "82"
# The space is intentional (should be trimmed).
VIRTUAL_HOST: "web2.nginx-proxy.test ,"
web3:
image: web
expose:
- "83"
environment:
WEB_PORTS: "83"
# The space is intentional (should be trimmed).
VIRTUAL_HOST: " ,web3.nginx-proxy.test"
web4:
image: web
expose:
- "84"
environment:
WEB_PORTS: "84"
# The spaces are intentional (should be trimmed).
VIRTUAL_HOST: "web4a.nginx-proxy.test, , web4b.nginx-proxy.test"