mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-02-24 01:38:15 +00:00
test: regex vhost file names
This commit is contained in:
parent
5baf4a163f
commit
1cd7b97e8f
@ -12,6 +12,13 @@ def test_custom_conf_applies_to_web1(docker_compose, nginxproxy):
|
|||||||
assert "X-test" in r.headers
|
assert "X-test" in r.headers
|
||||||
assert "f00" == r.headers["X-test"]
|
assert "f00" == r.headers["X-test"]
|
||||||
|
|
||||||
|
def test_custom_conf_applies_to_regex(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://regex.foo.nginx-proxy.example/port")
|
||||||
|
assert r.status_code == 200
|
||||||
|
assert r.text == "answer from port 83\n"
|
||||||
|
assert "X-test" in r.headers
|
||||||
|
assert "bar" == r.headers["X-test"]
|
||||||
|
|
||||||
def test_custom_conf_does_not_apply_to_web2(docker_compose, nginxproxy):
|
def test_custom_conf_does_not_apply_to_web2(docker_compose, nginxproxy):
|
||||||
r = nginxproxy.get("http://web2.nginx-proxy.example/port")
|
r = nginxproxy.get("http://web2.nginx-proxy.example/port")
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
|
@ -6,6 +6,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
- ./my_custom_proxy_settings.conf:/etc/nginx/vhost.d/web1.nginx-proxy.example_location:ro
|
- ./my_custom_proxy_settings.conf:/etc/nginx/vhost.d/web1.nginx-proxy.example_location:ro
|
||||||
|
- ./my_custom_proxy_settings_bar.conf:/etc/nginx/vhost.d/561032515ede3ab3a015edfb244608b72409c430_location:ro
|
||||||
|
|
||||||
web1:
|
web1:
|
||||||
image: web
|
image: web
|
||||||
@ -22,3 +23,11 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
WEB_PORTS: 82
|
WEB_PORTS: 82
|
||||||
VIRTUAL_HOST: web2.nginx-proxy.example
|
VIRTUAL_HOST: web2.nginx-proxy.example
|
||||||
|
|
||||||
|
regex:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "83"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: 83
|
||||||
|
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
|
||||||
|
@ -12,6 +12,13 @@ def test_custom_conf_applies_to_web1(docker_compose, nginxproxy):
|
|||||||
assert "X-test" in r.headers
|
assert "X-test" in r.headers
|
||||||
assert "f00" == r.headers["X-test"]
|
assert "f00" == r.headers["X-test"]
|
||||||
|
|
||||||
|
def test_custom_conf_applies_to_regex(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://regex.foo.nginx-proxy.example/port")
|
||||||
|
assert r.status_code == 200
|
||||||
|
assert r.text == "answer from port 83\n"
|
||||||
|
assert "X-test" in r.headers
|
||||||
|
assert "bar" == r.headers["X-test"]
|
||||||
|
|
||||||
def test_custom_conf_does_not_apply_to_web2(docker_compose, nginxproxy):
|
def test_custom_conf_does_not_apply_to_web2(docker_compose, nginxproxy):
|
||||||
r = nginxproxy.get("http://web2.nginx-proxy.example/port")
|
r = nginxproxy.get("http://web2.nginx-proxy.example/port")
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
|
@ -6,6 +6,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
- ./my_custom_proxy_settings.conf:/etc/nginx/vhost.d/web1.nginx-proxy.example:ro
|
- ./my_custom_proxy_settings.conf:/etc/nginx/vhost.d/web1.nginx-proxy.example:ro
|
||||||
|
- ./my_custom_proxy_settings_bar.conf:/etc/nginx/vhost.d/561032515ede3ab3a015edfb244608b72409c430:ro
|
||||||
|
|
||||||
web1:
|
web1:
|
||||||
image: web
|
image: web
|
||||||
@ -22,3 +23,11 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
WEB_PORTS: 82
|
WEB_PORTS: 82
|
||||||
VIRTUAL_HOST: web2.nginx-proxy.example
|
VIRTUAL_HOST: web2.nginx-proxy.example
|
||||||
|
|
||||||
|
regex:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "83"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: 83
|
||||||
|
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
vhost:$2a$13$/aPYmoK0mmgyAI4TpKdFY.6441Ugo39MdXjhpm.Pp6D15rbz9tvz.
|
13
test/test_htpasswd/test_htpasswd_regex_virtual_host.py
Normal file
13
test/test_htpasswd/test_htpasswd_regex_virtual_host.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
def test_htpasswd_regex_virtual_host_is_restricted(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://regex.htpasswd.nginx-proxy.example/port")
|
||||||
|
assert r.status_code == 401
|
||||||
|
assert "WWW-Authenticate" in r.headers
|
||||||
|
assert r.headers["WWW-Authenticate"] == 'Basic realm="Restricted access"'
|
||||||
|
|
||||||
|
|
||||||
|
def test_htpasswd_regex_virtual_host_basic_auth(docker_compose, nginxproxy):
|
||||||
|
r = nginxproxy.get("http://regex.htpasswd.nginx-proxy.example/port", auth=("vhost", "password"))
|
||||||
|
assert r.status_code == 200
|
||||||
|
assert r.text == "answer from port 80\n"
|
17
test/test_htpasswd/test_htpasswd_regex_virtual_host.yml
Normal file
17
test/test_htpasswd/test_htpasswd_regex_virtual_host.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
version: "2"
|
||||||
|
|
||||||
|
services:
|
||||||
|
regex:
|
||||||
|
image: web
|
||||||
|
expose:
|
||||||
|
- "80"
|
||||||
|
environment:
|
||||||
|
WEB_PORTS: 80
|
||||||
|
VIRTUAL_HOST: ~^regex.*\.nginx-proxy\.example$
|
||||||
|
|
||||||
|
sut:
|
||||||
|
container_name: sut
|
||||||
|
image: nginxproxy/nginx-proxy:test
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
|
- ./htpasswd:/etc/nginx/htpasswd:ro
|
Loading…
x
Reference in New Issue
Block a user