summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik
diff options
context:
space:
mode:
authorRaito Bezarius <masterancpp@gmail.com>2023-03-05 18:13:27 +0100
committerRaito Bezarius <masterancpp@gmail.com>2023-05-26 19:48:26 +0200
commit69bb0f94dee27c8beddcf786beb89148c51e2e8c (patch)
treea6be87fa72856bc1daa896b34e53a2d46e9ac06d /pkgs/development/python-modules/python-mapnik
parentbbdb8416a09b77bf44f75bf3c4bd50c88e94a753 (diff)
nixos/nginx: first-class PROXY protocol support
PROXY protocol is a convenient way to carry information about the originating address/port of a TCP connection across multiple layers of proxies/NAT, etc. Currently, it is possible to make use of it in NGINX's NixOS module, but is painful when we want to enable it "globally". Technically, this is achieved by reworking the defaultListen options and the objective is to have a coherent way to specify default listeners in the current API design. See `mkDefaultListenVhost` and `defaultListen` for the details. It adds a safeguard against running a NGINX with no HTTP listeners (e.g. only PROXY listeners) while asking for ACME certificates over HTTP-01. An interesting usecase of PROXY protocol is to enable seamless IPv4 to IPv6 proxy with origin IPv4 address for IPv6-only NGINX servers, it is demonstrated how to achieve this in the tests, using sniproxy. Finally, the tests covers: - NGINX `defaultListen` mechanisms are not broken by these changes; - NGINX PROXY protocol listeners are working in a final usecase (sniproxy); - uses snakeoil TLS certs from ACME setup with wildcard certificates; In the future, it is desirable to spoof-attack NGINX in this scenario to ascertain that `set_real_ip_from` and all the layers are working as intended and preventing any user from setting their origin IP address to any arbitrary, opening up the NixOS module to badâ„¢ vulnerabilities. For now, it is quite hard to achieve while being minimalistic about the tests dependencies.
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik')
0 files changed, 0 insertions, 0 deletions