Commit graph

425 commits

Author SHA1 Message Date
Sandro Jäckel 819289b1e5
nginxModules.zstd: add SuperSandro2000 as maintainer 2023-05-29 20:41:08 +02:00
Sandro Jäckel 0000007dcc
nginxModules.vts: 0.2.1 -> 0.2.2, add SuperSandro2000 as maintainer 2023-05-29 20:40:50 +02:00
Raito Bezarius 69bb0f94de 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.
2023-05-26 19:48:26 +02:00
Sandro c898813431
Merge pull request #233029 from jlamur/nginx-spnego-build-fix
nginx: fix build of module spnego-http-auth
2023-05-24 21:54:24 +02:00
ajs124 27d53b81cc nginxQuic: share src and version with nginxMainline
quic support was merged
still a separate package, because it uses quictls
and sets configureFlags
2023-05-23 18:37:54 +02:00
ajs124 91ecb7d7ff nginxMainline: 1.24.0 -> 1.25.0 2023-05-23 18:28:04 +02:00
Martin Weinelt 9d0bbc2c12
nginxModules.secure-token: 2020-08-28 -> 1.5 2023-05-22 16:29:55 +02:00
Martin Weinelt 2c1cc78307
nginxModules.vod: 1.29 -> 1.31 2023-05-22 16:29:55 +02:00
Jules Lamur dcb2cc849e
nginx: fix build of module spnego-http-auth 2023-05-20 16:12:04 +02:00
zowoq 9f8b8befcf nginxModules.zstd: add missing meta 2023-05-04 20:21:37 +10:00
Sandro 7a4d8131fa
Merge pull request #208161 from SuperSandro2000/nginx-modules-meta
nginx: add meta section to modules
2023-05-04 00:59:20 +02:00
Sandro Jäckel 50b8c237b7
nginx: move aliases behind config.allowAliases 2023-04-28 21:38:43 +02:00
Sandro Jäckel 0d58522055
nginx: add meta section to modules
Also resolve one github redirect.
2023-04-28 21:38:43 +02:00
ajs124 68c39e6f41 nginxMainline: 1.23.4 -> 1.24.0 2023-04-11 22:12:12 +02:00
ajs124 58cb284c0e nginxStable: 1.22.1 -> 1.24.0 2023-04-11 22:11:07 +02:00
ajs124 8be794b197 nginx: sha256 -> hash 2023-04-03 12:40:49 +02:00
ajs124 9554582b34 nginxMainline: 1.23.3 -> 1.23.4 2023-04-03 12:29:54 +02:00
Izorkin 9f2a1d98aa
nginxQuic: 3be953161026 -> 0af598651e33 2023-04-01 13:09:48 +03:00
Sandro 995f9d1c95
Merge pull request #213874 from SuperSandro2000/nginx-zstd
nixos/nginx: add recommendedZstdSettings
2023-03-23 14:11:35 +01:00
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00
Sandro Jäckel e31461fff1
nginx.modules.zstd: init 2023-02-22 13:59:55 +01:00
Sandro a68a88698f
Merge pull request #215150 from SuperSandro2000/nginx-with-lib
nginx: remove with lib over entire file
2023-02-15 16:22:35 +01:00
Henri Menke 2fb3714761 nginxModules.njs: 0.7.9 -> 0.7.10 2023-02-10 09:57:49 +01:00
Henri Menke 160472e179 nginxModules.njs: 0.7.8 -> 0.7.9 2023-02-10 09:52:56 +01:00
Sandro Jäckel 79a301305b
nginx: remove with lib over entire file 2023-02-07 17:25:15 +01:00
MayNiklas 3f4bbaee84 nginxModules.geoip2: 3.3 -> 3.4 2023-01-06 11:11:30 +01:00
Izorkin f3e20dbfb0
nginxModules.brotli: unstable-2020-04-23 -> unstable-2022-04-29 2022-12-29 18:14:29 +03:00
Sandro 83d9cef104
Merge pull request #206814 from SuperSandro2000/nginxModules 2022-12-25 20:08:14 +01:00
Sandro 58abb21bbe
nginxModules.lua: replace all occurences
Co-authored-by: Naïm Favier <n@monade.li>
2022-12-25 20:08:01 +01:00
Ryan Lahfa 0ed43cb857
Merge pull request #201789 from RaitoBezarius/nginx-with-slice
nginx: expose ngx_http_slice_module through "withSlice"
2022-12-23 00:47:30 +01:00
Sandro 90cf235d3b
Merge pull request #206811 from SuperSandro2000/openresty 2022-12-22 03:08:45 +01:00
Sandro Jäckel 0e25cc73c8
nginxModules.lua: 0.10.15 -> 0.10.22 2022-12-19 08:46:48 +01:00
Sandro Jäckel c2b2f29d2b
nginxModules.pagespeed: cleanup 2022-12-19 08:46:11 +01:00
Sandro Jäckel a7f34992d5
nginxModules: make single packages overridable 2022-12-19 08:45:48 +01:00
Sandro Jäckel 7f2d5f369c
openresty: 1.19.9 -> 1.21.4 2022-12-19 08:38:48 +01:00
Vincent Bernat fc39b5ecc8 nginx: make global redirect vhost option accept exceptions
By moving the return into a location directive, one can provide
exceptions by adding locations. This is similar to what the forceSSL
option does.
2022-12-18 12:21:27 +01:00
Raito Bezarius 9105bfd039 nginx: expose ngx_http_slice_module through "withSlice" 2022-12-17 02:59:04 +01:00
Naïm Favier dc644c312f
Merge pull request #206061 from ncfavier/nginx-duplicate-modules 2022-12-16 10:09:19 +01:00
Naïm Favier 6c61c436cf
nginx: detect duplicate modules
Nginx breaks at runtime when duplicate modules are added. To detect
this, add a `name` key to all modules.

Also remove the outdated modsecurity v2 module and unify `modsecurity`
and `modsecurity-nginx`.
2022-12-16 01:57:14 +01:00
Franz Pletz 533ee91117
nginxMainline: 1.23.2 -> 1.23.3 2022-12-14 12:55:03 +01:00
Alexander Bantyev df85dda331
Merge pull request #198314 from Izorkin/update-nginx-cache
nixos/nginx: add proxyCache options
2022-11-27 18:51:09 +04:00
Henri Menke 9ab02e1ec6
nginxModules.njs: init at 0.7.8 2022-11-05 21:40:57 +01:00
Izorkin 544c526393
nginx: change temp path location
Parameters `http-log-path`, `http-client-body-temp-path`, `http-proxy-temp-path`,
`http-fastcgi-temp-path`, `http-uwsgi-temp-path` and `http-scgi-temp-path`
point to location of nginx temporary files, not cache files.
To change specify location of cache files needed use other parameters
in nginx.conf configuration file.
2022-10-28 19:01:23 +03:00
Izorkin 9d676cb01d
nginxQuic: 3550b00d9dc8 -> 3be953161026 2022-10-20 22:10:09 +03:00
Izorkin a9cbc65ad0
nginxMainline: 1.23.1 -> 1.23.2 2022-10-20 22:07:08 +03:00
Izorkin 2392241c0b
nginxStable: 1.22.0 -> 1.22.1 2022-10-20 22:05:06 +03:00
Sandro Jäckel f240b7026c
nginxModules.vts: 0.2.0 -> 0.2.1 2022-09-25 01:36:21 +02:00
Sandro Jäckel 96398396eb
nginxModules.vts: 0.1.18 -> 0.2.0 2022-09-07 00:46:48 +02:00
Sandro Jäckel 9f86d199b4
nginx: bump moreheaders to fix coredump with nginx 1.23 2022-08-07 15:28:50 +02:00
Izorkin a09d4826e1
nginxQuic: 8d0753760546 -> 3550b00d9dc8 2022-07-29 20:31:43 +03:00