1
0
mirror of https://github.com/thib8956/nginx-proxy synced 2025-07-01 14:25:46 +00:00

tests: factor out base nginx-proxy config

This commit is contained in:
Nicolas Duchon
2024-12-30 11:59:07 +01:00
parent 4ccbc3edec
commit daa9449176
111 changed files with 460 additions and 578 deletions

View File

@ -0,0 +1,6 @@
services:
nginx-proxy:
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ${PYTEST_MODULE_PATH}/certs:/etc/nginx/certs:ro
- ${PYTEST_MODULE_PATH}/acme_root:/usr/share/nginx/html:ro

View File

@ -1,5 +1,13 @@
services:
base:
nginx-proxy:
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ${PYTEST_MODULE_PATH}/cert_selection:/etc/nginx/certs:ro
- ${PYTEST_MODULE_PATH}/acme_root:/usr/share/nginx/html:ro
environment:
DEBUG_ENDPOINT: "true"
base:
image: web
environment:
WEB_PORTS: "80"
@ -10,7 +18,7 @@ services:
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "www.nginx-proxy.tld"
sub-www:
image: web
environment:
@ -22,12 +30,3 @@ services:
environment:
WEB_PORTS: "80"
VIRTUAL_HOST: "web1.nginx-proxy.tld"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./cert_selection:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro
environment:
DEBUG_ENDPOINT: "true"

View File

@ -1,3 +1,7 @@
networks:
default:
name: test_dhparam-net
services:
web5:
image: web

View File

@ -61,7 +61,7 @@ def require_openssl(required_version):
@require_openssl("1.0.2")
def negotiate_cipher(sut_container, additional_params='', grep='Cipher is'):
sut_container.reload()
host = f"{sut_container.attrs['NetworkSettings']['Networks']['test_ssl_default']['IPAddress']}:443"
host = f"{sut_container.attrs['NetworkSettings']['Networks']['test_dhparam-net']['IPAddress']}:443"
try:
# Enforce TLS 1.2 as newer versions don't support custom dhparam or ciphersuite preference.

View File

@ -44,9 +44,3 @@ services:
VIRTUAL_HOST: http3-vhost-enabled.nginx-proxy.tld
labels:
com.github.nginx-proxy.nginx-proxy.http3.enable: "true"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro

View File

@ -1,4 +1,9 @@
services:
nginx-proxy:
environment:
HTTP_PORT: 8080
HTTPS_PORT: 8443
web1:
image: web
expose:
@ -6,13 +11,3 @@ services:
environment:
WEB_PORTS: "81"
VIRTUAL_HOST: "*.nginx-proxy.tld"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro
environment:
HTTP_PORT: 8080
HTTPS_PORT: 8443

View File

@ -7,10 +7,3 @@ services:
WEB_PORTS: "82"
VIRTUAL_HOST: "web2.nginx-proxy.tld"
HTTPS_METHOD: nohttp
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro

View File

@ -7,9 +7,3 @@ services:
WEB_PORTS: "83"
VIRTUAL_HOST: "web.nginx-proxy.tld"
HTTPS_METHOD: nohttps
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./acme_root:/usr/share/nginx/html:ro

View File

@ -7,10 +7,3 @@ services:
WEB_PORTS: "83"
VIRTUAL_HOST: "web3.nginx-proxy.tld"
HTTPS_METHOD: noredirect
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro

View File

@ -18,10 +18,3 @@ services:
VIRTUAL_HOST: "www.nginx-proxy.tld"
VIRTUAL_PATH: "/web2/"
VIRTUAL_DEST: "/"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro

View File

@ -1,13 +1,16 @@
version: "3"
# In this scenario, we have a wildcard certificate for `*.web.nginx-proxy.tld` and 3 web containers:
# - 1.web.nginx-proxy.tld
# - 2.web.nginx-proxy.tld
# - 3.web.nginx-proxy.tld
#
# We want web containers 1 and 2 to support SSL, but 3 should not (using `HTTPS_METHOD=nohttps`)
services:
proxy:
image: nginxproxy/nginx-proxy:test
nginx-proxy:
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro
- ${PYTEST_MODULE_PATH}/certs_wildcard_nohttps:/etc/nginx/certs:ro
- ${PYTEST_MODULE_PATH}/acme_root:/usr/share/nginx/html:ro
web1:
image: web

View File

@ -6,10 +6,3 @@ services:
environment:
WEB_PORTS: "81"
VIRTUAL_HOST: "*.nginx-proxy.tld"
sut:
image: nginxproxy/nginx-proxy:test
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- ./acme_root:/usr/share/nginx/html:ro

View File

@ -1,6 +0,0 @@
In this scenario, we have a wildcard certificate for `*.web.nginx-proxy.tld` and 3 web containers:
- 1.web.nginx-proxy.tld
- 2.web.nginx-proxy.tld
- 3.web.nginx-proxy.tld
We want web containers 1 and 2 to support SSL, but 3 should not (using `HTTPS_METHOD=nohttps`)