1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-07-01 22:35:45 +00:00

fix: Generate at most one server directive per container

This commit is contained in:
Richard Hansen
2023-01-28 00:19:21 -05:00
parent bcec2d9075
commit 6162427c45
3 changed files with 50 additions and 7 deletions

View File

@ -1,15 +1,28 @@
import re
import pytest
def test_unknown_virtual_host(docker_compose, nginxproxy):
r = nginxproxy.get("http://nginx-proxy/")
assert r.status_code == 503
def test_forwards_to_web1(docker_compose, nginxproxy):
r = nginxproxy.get("http://web1.nginx-proxy.local/port")
assert r.status_code == 200
assert r.status_code == 200
assert r.text == "answer from port 81\n"
def test_forwards_to_web2(docker_compose, nginxproxy):
r = nginxproxy.get("http://web2.nginx-proxy.local/port")
assert r.status_code == 200
assert r.text == "answer from port 82\n"
assert r.status_code == 200
assert r.text == "answer from port 82\n"
def test_multipath(docker_compose, nginxproxy):
r = nginxproxy.get("http://web3.nginx-proxy.test/port")
assert r.status_code == 200
assert r.text == "answer from port 83\n"
cfg = nginxproxy.get_conf().decode()
lines = cfg.splitlines()
web3_server_lines = [l for l in lines
if re.search(r'(?m)^\s*server\s+[^\s]*:83;\s*$', l)]
assert len(web3_server_lines) == 1

View File

@ -3,6 +3,8 @@ version: '2'
networks:
net1: {}
net2: {}
net3a: {}
net3b: {}
services:
nginx-proxy:
@ -12,6 +14,8 @@ services:
networks:
- net1
- net2
- net3a
- net3b
web1:
image: web
@ -32,3 +36,14 @@ services:
VIRTUAL_HOST: web2.nginx-proxy.local
networks:
- net2
web3:
image: web
expose:
- "83"
environment:
WEB_PORTS: 83
VIRTUAL_HOST: web3.nginx-proxy.test
networks:
- net3a
- net3b