|
@@ -14,6 +14,7 @@ def test_X_Forwarded_For_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Forwarded-For:" in r.text
|
|
assert "X-Forwarded-For:" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_X_Forwarded_For_is_passed_on(docker_compose, nginxproxy):
|
|
def test_X_Forwarded_For_is_passed_on(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-For': '1.2.3.4'})
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-For': '1.2.3.4'})
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
@@ -27,6 +28,7 @@ def test_X_Forwarded_Proto_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Forwarded-Proto: https" in r.text
|
|
assert "X-Forwarded-Proto: https" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_X_Forwarded_Proto_is_passed_on(docker_compose, nginxproxy):
|
|
def test_X_Forwarded_Proto_is_passed_on(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Proto': 'f00'})
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Proto': 'f00'})
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
@@ -40,6 +42,7 @@ def test_X_Forwarded_Host_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Forwarded-Host: web.nginx-proxy.tld\n" in r.text
|
|
assert "X-Forwarded-Host: web.nginx-proxy.tld\n" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_X_Forwarded_Host_is_passed_on(docker_compose, nginxproxy):
|
|
def test_X_Forwarded_Host_is_passed_on(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Host': 'example.com'})
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Host': 'example.com'})
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
@@ -53,6 +56,7 @@ def test_X_Forwarded_Port_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Forwarded-Port: 443\n" in r.text
|
|
assert "X-Forwarded-Port: 443\n" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_X_Forwarded_Port_is_passed_on(docker_compose, nginxproxy):
|
|
def test_X_Forwarded_Port_is_passed_on(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Port': '1234'})
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Port': '1234'})
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
@@ -66,6 +70,7 @@ def test_X_Forwarded_Ssl_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Forwarded-Ssl: on\n" in r.text
|
|
assert "X-Forwarded-Ssl: on\n" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_X_Forwarded_Ssl_is_overwritten(docker_compose, nginxproxy):
|
|
def test_X_Forwarded_Ssl_is_overwritten(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Ssl': 'f00'})
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers", headers={'X-Forwarded-Ssl': 'f00'})
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
@@ -79,11 +84,13 @@ def test_X_Real_IP_is_generated(docker_compose, nginxproxy):
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "X-Real-IP: " in r.text
|
|
assert "X-Real-IP: " in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_Host_is_passed_on(docker_compose, nginxproxy):
|
|
def test_Host_is_passed_on(docker_compose, nginxproxy):
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers")
|
|
r = nginxproxy.get("https://web.nginx-proxy.tld/headers")
|
|
assert r.status_code == 200
|
|
assert r.status_code == 200
|
|
assert "Host: web.nginx-proxy.tld" in r.text
|
|
assert "Host: web.nginx-proxy.tld" in r.text
|
|
|
|
|
|
|
|
+
|
|
def test_httpoxy_safe(docker_compose, nginxproxy):
|
|
def test_httpoxy_safe(docker_compose, nginxproxy):
|
|
"""
|
|
"""
|
|
See https://httpoxy.org/
|
|
See https://httpoxy.org/
|
|
@@ -97,7 +104,7 @@ def test_httpoxy_safe(docker_compose, nginxproxy):
|
|
@pytest.mark.filterwarnings('ignore::urllib3.exceptions.InsecureRequestWarning')
|
|
@pytest.mark.filterwarnings('ignore::urllib3.exceptions.InsecureRequestWarning')
|
|
def test_no_host_server_tokens_off(docker_compose, nginxproxy):
|
|
def test_no_host_server_tokens_off(docker_compose, nginxproxy):
|
|
ip = nginxproxy.get_ip()
|
|
ip = nginxproxy.get_ip()
|
|
- r = nginxproxy.get(f"https://{ip}/headers", verify=False)
|
|
|
|
|
|
+ r = nginxproxy.get(f"https://{ip}/headers", verify=False, expected_status_code=503)
|
|
assert r.status_code == 503
|
|
assert r.status_code == 503
|
|
assert r.headers["Server"] == "nginx"
|
|
assert r.headers["Server"] == "nginx"
|
|
|
|
|