# Nginx Proxy Memory Leak Reproduction To cause the reported memory leaks with nginx 1.24.0, do the following: 1. Setup a web-host, which serves /index.html (or use just any) 2. Ensure that this server has a valid TLS certificate and supports TLS1.3 3. Setup an OpenBSD 7.4, apply syspatch, install nginx-1.24.0p0 from packages. 4. Generate a TLS certificate for the host and adjust the supplied `nginx.conf`, pointing the proxy pass at the host setup in 1. and referencing the hosts' certificate instead of the example. 5. Use the script in scraper.py to issue HTTP requests from a third host. See README.md there for more details. ## What has been tested? ``` +-----------------------------------------------------------------------------+ | Config (syspatched OpenBSD 7.4) | Memleak? | +---------------------------------------------------------------+-------------+ | Nginx from packages, TLS1.3 for in and outbound | Yes | | Nginx from packages, no TLS1.3 for inbound | Yes | | Nginx from packages, no TLS1.3 for outbound | No | | | | | Nginx from ports, TLS1.3 for in and outbound, sub_http module | Yes | | Nginx from ports, no TLS1.3 for inbound, sub_http module | Yes | | Nginx from ports, no TLS1.3 for outbound, sub_http module | No | | | | | Nginx selfbuild, TLS1.3 for in and outbound, sub_http module | Yes | | Nginx selfbuild, no TLS1.3 for inbound, sub_http module | Yes | | Nginx selfbuild, no TLS1.3 for outbound, sub_http module | No | +---------------------------------------------------------------+-------------+ ``` ## What is missing? - Testing if the memleak correlates with the request rate