2
0

test_proxy-protocol-global-disabled.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import socket
  2. def test_proxy_protocol_global_disabled_X_Forwarded_For_is_generated(
  3. docker_compose, nginxproxy
  4. ):
  5. r = nginxproxy.get("http://proxy-protocol-global-disabled.nginx-proxy.tld/headers")
  6. assert r.status_code == 200
  7. assert "X-Forwarded-For:" in r.text
  8. def test_proxy_protocol_global_disabled_X_Forwarded_For_is_passed_on(
  9. docker_compose, nginxproxy
  10. ):
  11. r = nginxproxy.get(
  12. "http://proxy-protocol-global-disabled.nginx-proxy.tld/headers",
  13. headers={"X-Forwarded-For": "1.2.3.4"},
  14. )
  15. assert r.status_code == 200
  16. assert "X-Forwarded-For: 1.2.3.4, " in r.text
  17. def test_proxy_protocol_global_disabled_X_Forwarded_Port_is_generated(
  18. docker_compose, nginxproxy
  19. ):
  20. r = nginxproxy.get("http://proxy-protocol-global-disabled.nginx-proxy.tld/headers")
  21. assert r.status_code == 200
  22. assert "X-Forwarded-Port: 80\n" in r.text
  23. def test_proxy_protocol_global_disabled_X_Forwarded_Port_is_passed_on(
  24. docker_compose, nginxproxy
  25. ):
  26. r = nginxproxy.get(
  27. "http://proxy-protocol-global-disabled.nginx-proxy.tld/headers",
  28. headers={"X-Forwarded-Port": "1234"},
  29. )
  30. assert r.status_code == 200
  31. assert "X-Forwarded-Port: 1234\n" in r.text
  32. def test_proxy_protocol_global_disabled_proto_request_fails(docker_compose, nginxproxy):
  33. client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  34. client.connect((nginxproxy.get_ip(), 80))
  35. # 1.2.3.4 is the client IP
  36. # 4.3.2.1 is the proxy server IP
  37. # 8080 is the client port
  38. # 9090 is the proxy server port
  39. client.send(f"PROXY TCP4 1.2.3.4 4.3.2.1 8080 9090\r\n".encode("utf-8"))
  40. client.send(
  41. "GET /headers HTTP/1.1\r\nHost: proxy-protocol-global-enabled.nginx-proxy.tld\r\n\r\n".encode(
  42. "utf-8"
  43. )
  44. )
  45. response = client.recv(4096).decode("utf-8")
  46. assert "HTTP/1.1 400 Bad Request" in response