NGINX is a high performance edge web server with the lowest memory footprint
and the key features to build modern and efficient web infrastructure.
NGINX functionality includes HTTP server, HTTP and mail reverse proxy, caching,
load balancing, compression, request throttling, connection multiplexing and
reuse, SSL offload and HTTP media streaming.
See also: https://freenginx.org/
www/freenginx-devel: third-party modules management
- update njs module to 1.0.2
Bump PORTREVISION.
Sponsored by: tipi.work
<ChangeLog>
nginx modules:
*) Bugfix: fixed response body framing and keepalive connection reuse
in ngx.fetch(). Responses with conflicting Content-Length fields,
with both Transfer-Encoding and Content-Length, or with 1xx status
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: third-party modules management
- njs module security update to 1.0.1
Bump PORTREVISION.
Sponsored by: tipi.work
<ChangeLog>
nginx modules:
*) Security: fixed an access control bypass in js_access when an
asynchronous request body continuation threw an exception or
produced an unhandled rejection. Previously, nginx could continue
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update: 1.31.3 -> 1.31.4
Sponsored by: tipi.work
<ChangeLog>
*) Bugfix: the "index" directive used old values of non-cacheable
variables.
*) Bugfix: variables with side effects might cause incorrect results
during variable substitution and "no buffer space in script copy"
alerts.
*) Bugfix: a segmentation fault might occur in a worker process when
using regular expression captures with the
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: follow change of other nginx ports
Reviewed by: osa (maintainer, mentor)
Approved by: osa (maintainer, mentor)
Differential Revision: https://reviews.freebsd.org/D58692
(cherry picked from commit 8c2ac84b701610ea2c269aeb8f06ead8eae48cb2)
www/freenginx-devel: update: 1.31.2 -> 1.31.3
Build of the substitutions filter third-party module is temporarily disabled.
Sponsored by: tipi.work
<ChangeLog>
*) Feature: additional checks are now used during variable substitution,
including during execution of the ngx_http_rewrite_module directives,
to prevent buffer overruns in case of errors in the code.
*) Bugfix: if the "auth_request_set" directive or regular expression
named captures were used to change prefix variables, such as
"$http_...", corresponding variables became empty in other parts of
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update njs module to 1.0.0
Bump PORTREVISION.
Sponsored by: tipi.work
<ChangeLog>
nginx modules:
*) Improvement: aligned HTTP, Stream, and Fetch exception classes
between the njs and QuickJS engines. API misuse is now reported
as TypeError and status bounds violations as RangeError.
*) Improvement: rejected unsafe request targets, methods, and header
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: third-party modules management (+)
Update third-party modules to their recent snapshots:
- keyval
- lua
- mod_zip (moves back to its original author's repo)
Bump PORTREVISION.
Sponsored by: tipi.work
www/freenginx-devel: add third-party auth_jwt module (+)
The binary form of the auth_jwt module has exactly the same name
as the binary form of the http_auth_jwt module, so let's guarded
both modules with the PREVENTS* knobs.
Bump PORTREVISION.
Sponsored by: tipi.work
www/freenginx-devel: update: 1.31.1 -> 1.31.2
Sponsored by: tipi.work
<ChangeLog>
*) Bugfix: a segmentation fault might occur in a worker process if
nested captures were used in the "rewrite" directive.
*) Bugfix: the "if" directive incorrectly handled relative paths when
checking files.
</ChangeLog>
www/freenginx-devel: update: 1.31.0 -> 1.31.1
Sponsored by: tipi.work
<ChangeLog>
*) Feature: the "off" parameter of the "index" directive.
Thanks to Fabiano Furtado.
*) Bugfix: a segmentation fault might occur in a worker process if the
"rewrite" directive was used to change request arguments and other
directives of the ngx_http_rewrite_module were executed afterwards.
*) Bugfix: in the "set" directive.
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update njs 0.9.8 -> 0.9.9 (+)
Bump PORTREVISION.
<ChangeLog>
nginx modules:
*) Security: a heap buffer overflow might occur in a worker process
when the "js_fetch_proxy" directive value contains nginx
variables derived from the client request ($http_*, $arg_*,
$cookie_*, etc.) and the location's JS handler invokes
ngx.fetch(). The issue was introduced in dea83189 (0.9.4).
*) Feature: added js_access directive.
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update: 1.30.0 -> 1.31.0
Sponsored by: tipi.work
<ChangeLog>
*) Change: now the "try_files" directive can be used with arguments
starting with the request URI inside a location given by a regular
expression, along with the "alias" directive.
*) Bugfix: the "try_files" directive might work incorrectly when used
with the "alias" directive.
*) Bugfix: a segmentation fault might occur in a worker process if the
"try_files" and "proxy_pass" directives were used together.
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update: 1.29.6 -> 1.29.7
Sponsored by: tipi.work
<ChangeLog>
*) Feature: OpenSSL 4.0 compatibility.
*) Bugfix: a segmentation fault might occur in a worker process if the
ngx_http_dav_module was used to handle COPY and MOVE methods in a
location with the "alias" directive.
*) Bugfix: client host name was not escaped in requests to the
authentication server and in the XCLIENT command if the "resolver"
directive was used in the SMTP proxy.
*) Bugfix: in the mail proxy module.
</ChangeLog>
www/freenginx-devel: update from 1.29.5 to 1.29.6
Sponsored by: tipi.work
<ChangeLog>
*) Bugfix: incorrect "upstream server temporarily disabled" messages
might be logged when using variables in the "proxy_pass" directive.
*) Bugfix: retrying a request to the next gRPC upstream server might not
work correctly.
Thanks to David Carlier.
*) Bugfix: a segmentation fault might occur in a worker process if the
ngx_http_xslt_filter_module was used.
*) Bugfix: a segmentation fault might occur in a worker process if the
ngx_http_mp4_module was used.
*) Bugfix: in the ngx_http_uwsgi_module and ngx_http_scgi_module
modules.
*) Bugfix: in memory allocation error handling.
</ChangeLog>
devel/grpc: Update to 1.78.0
- Add OPENTELEMETRY option: disable by default for now due to build failure
- Bump PORTREVISION of dependent ports for shlib change
Changes: https://github.com/grpc/grpc/releases
www/freenginx-devel: update njs module to 0.9.6
<ChangeLog>
nginx modules:
*) Bugfix: fixed expire field truncation in shared dict state files.
Millisecond timestamps were silently truncated to 10 digits,
making restored entries appear expired on restart.
The issue has been present since eca03622 (0.9.1).
*) Bugfix: suppressed slab log_nomem for evict shared dict zones.
When evict is enabled, memory allocation failures are expected
and handled by evicting old entries.
(Only the first 15 lines of the commit message are shown above )
www/freenginx-devel: update to 1.29.5
<ChangeLog>
*) Feature: optimized SSL_sendfile() usage on FreeBSD.
Thanks to Gleb Smirnoff.
*) Bugfix: upstream servers were not marked as failed after a response
with status code 500, 502, 503, 504, or 429 if the code was listed in
the "proxy_next_upstream" directive, but switching to the next server
was not possible.
*) Bugfix: the "stale-if-error" cache control extension was not applied
if a backend returned a response with status code 500, 502, 503, 504,
or 429 and the code was listed in the "proxy_next_upstream"
directive.
*) Bugfix: in handling of premature backend responses.
</ChangeLog>
Sponsored by: tipi.work
www/freenginx-devel: third-party module management
Update the stream-lua module to its recent release 0.0.17R4,
and enable it.
Remove ignore list.
Bump PORTREVISION.
Sponsored by: tipi.work
www/freenginx-devel: respect CFLAGS and LDFLAGS
Adopt and move out ports infra variables of the main Makefile.
Sort out thid-party modules variables.
Bump PORTREVISION.
PR: 292432
Thanks to: fluffy
Sponsored by: tipi.work
www/freenginx-devel: clean up the port infra
NJS_QJS knob and related patches have been removed a long time ago.
Do not bump PORTREVISION.
Sponsored by: tipi.work
www/freenginx-devel: update from 1.29.3 to 1.29.4
Enable the updated geoip module.
Sponsored by: tipi.work
<ChangeLog>
*) Feature: support for GeoIP2 databases in the MaxMind DB (MMDB) format
in the ngx_http_geoip_module and ngx_stream_geoip_module modules; the
"geoip_set" directive.
*) Bugfix: disk cache size might be calculated incorrectly on the XFS
file system with the "largeio" mount option.
*) Bugfix: of minor potential bugs.
</ChangeLog>
www/freenginx-devel: don't link thumbextractor module with libpostproc
libpostproc has been removed from newer ffmpeg and it not needed
with ffmpeg6 either.
Bump PORTREVISION.
PR: 289067
Sponsored by: tipi.work
www/freenginx-devel: update from 1.29.2 to 1.29.3
<ChangeLog>
*) Feature: loading of certificates and secret keys from hardware tokens
with OpenSSL STORE API.
*) Change: loading of external character entities declared in the
internal DTD subset is now disabled by default in the
ngx_http_xslt_filter_module; loading can be enabled with the
"xml_external_entities" directive.
*) Bugfix: the ngx_http_xslt_filter_module might try loading of external
character entities over the network, which might cause blocking of
the worker process for a significant time.
*) Bugfix: the "working_directory", "google_perftools_profiles",
"geoip_country", "geoip_city", "geoip_org", and "xml_entities"
directives incorrectly handled relative paths.
</ChangeLog>
www/freenginx-devel: update third-party lua module (+)
to its recent snapshot. The patches have been added to the upstream,
so the module builds just fine.
Bump PORTREVISION.
Sponsored by: tipi.work
www/freenginx-devel: update njs 0.9.3 -> 0.9.4 (+)
Sponsored by: tipi.work
<ChangeLog>
nginx modules:
*) Feature: added HTTP forward proxy support for ngx.fetch() API.
Core:
*) Bugfix: fixed r.subrequest() to a location with JS handler
for QuickJS. The bug became visible after
bellard/quickjs@42eb2795.
</ChangeLog>
www/freenginx-devel: update from 1.27.2 to 1.29.2
Due to changes in freenginx core several third-party modules are
required additional patching.
<ChangeLog>
Changes with freenginx 1.29.2 23 Sep 2025
*) Feature: support for the Encrypted Client Hello (ECH) extension of
the TLS 1.3 protocol.
Changes with freenginx 1.29.1 26 Aug 2025
*) Change: now responses from proxied servers over HTTP/0.9 are rejected
(Only the first 15 lines of the commit message are shown above )
Bump PORTREVISIONs after grpc shlib change in 2715f16944541b6b
PR: 282624
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47513