Volunteers wanted to help translate FreshPorts
Searches without login should now work. You must get asked to click a button.
Port details
nginx-module-lua Lua module for the NGINX HTTP subsystem
0.10.31 www Σ=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 0.10.29_4Version of this port present on the latest quarterly branch.
Maintainer: joneum@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2026-05-26 15:39:06
Last Update: 2026-10-15 11:15:55
Commit Hash: 67b99bc
License: BSD2CLAUSE
WWW:
https://github.com/openresty/lua-nginx-module
Description: #
lua-nginx-module embeds Lua into nginx and provides a powerful scripting environment for nginx HTTP request processing. It is part of the OpenResty ecosystem and is commonly used together with lua-resty-core and ngx_devel_kit.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port
Manual pages: #
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist #
Expand this list (136 items)
Collapse this list.
  1. /usr/local/share/licenses/nginx-module-lua-0.10.31/catalog.mk
  2. /usr/local/share/licenses/nginx-module-lua-0.10.31/LICENSE
  3. /usr/local/share/licenses/nginx-module-lua-0.10.31/BSD2CLAUSE
  4. share/nginx/modules/nginx-module-lua/config
  5. share/nginx/modules/nginx-module-lua/src/api/ngx_http_lua_api.h
  6. share/nginx/modules/nginx-module-lua/src/ddebug.h
  7. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_accessby.c
  8. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_accessby.h
  9. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_api.c
  10. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_args.c
  11. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_args.h
  12. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_balancer.c
  13. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_balancer.h
  14. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_bodyfilterby.c
  15. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_bodyfilterby.h
  16. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_cache.c
  17. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_cache.h
  18. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_capturefilter.c
  19. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_capturefilter.h
  20. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_clfactory.c
  21. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_clfactory.h
  22. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_common.h
  23. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_config.c
  24. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_config.h
  25. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_consts.c
  26. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_consts.h
  27. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_contentby.c
  28. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_contentby.h
  29. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_control.c
  30. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_control.h
  31. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_coroutine.c
  32. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_coroutine.h
  33. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ctx.c
  34. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ctx.h
  35. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_directive.c
  36. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_directive.h
  37. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_exception.c
  38. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_exception.h
  39. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_exitworkerby.c
  40. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_exitworkerby.h
  41. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headerfilterby.c
  42. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headerfilterby.h
  43. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers_in.c
  44. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers_in.h
  45. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers_out.c
  46. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers_out.h
  47. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers.c
  48. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_headers.h
  49. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_initby.c
  50. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_initby.h
  51. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_initworkerby.c
  52. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_initworkerby.h
  53. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_input_filters.c
  54. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_input_filters.h
  55. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_lex.c
  56. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_lex.h
  57. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_log_ringbuf.c
  58. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_log_ringbuf.h
  59. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_log.c
  60. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_log.h
  61. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_logby.c
  62. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_logby.h
  63. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_misc.c
  64. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_misc.h
  65. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_module.c
  66. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ndk.c
  67. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ndk.h
  68. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_output.c
  69. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_output.h
  70. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_pcrefix.c
  71. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_pcrefix.h
  72. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_phase.c
  73. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_pipe.c
  74. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_pipe.h
  75. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_precontentby.c
  76. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_precontentby.h
  77. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_probe.h
  78. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_proxy_ssl_certby.c
  79. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_proxy_ssl_certby.h
  80. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_proxy_ssl_verifyby.c
  81. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_proxy_ssl_verifyby.h
  82. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_regex.c
  83. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_req_body.c
  84. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_req_body.h
  85. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_req_method.c
  86. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_rewriteby.c
  87. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_rewriteby.h
  88. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_script.c
  89. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_script.h
  90. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_semaphore.c
  91. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_semaphore.h
  92. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_server_rewriteby.c
  93. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_server_rewriteby.h
  94. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_setby.c
  95. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_setby.h
  96. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_shdict.c
  97. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_shdict.h
  98. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_sleep.c
  99. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_sleep.h
  100. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_socket_tcp.c
  101. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_socket_tcp.h
  102. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_socket_udp.c
  103. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_socket_udp.h
  104. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_certby.c
  105. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_certby.h
  106. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_client_helloby.c
  107. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_client_helloby.h
  108. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_export_keying_material.c
  109. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_export_keying_material.h
  110. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_ocsp.c
  111. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_session_fetchby.c
  112. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_session_fetchby.h
  113. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_session_storeby.c
  114. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl_session_storeby.h
  115. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl.c
  116. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_ssl.h
  117. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_string.c
  118. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_string.h
  119. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_subrequest.c
  120. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_subrequest.h
  121. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_time.c
  122. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_timer.c
  123. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_timer.h
  124. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_uri.c
  125. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_uri.h
  126. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_uthread.c
  127. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_uthread.h
  128. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_util.c
  129. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_util.h
  130. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_variable.c
  131. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_worker_thread.c
  132. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_worker_thread.h
  133. share/nginx/modules/nginx-module-lua/src/ngx_http_lua_worker.c
  134. @owner
  135. @group
  136. @mode
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • nginx-module-lua>0:www/nginx-module-lua
To install the port: #
cd /usr/ports/www/nginx-module-lua/ && make install clean
To add the package, run one of these commands:
  • pkg install www/nginx-module-lua
  • pkg install nginx-module-lua
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: nginx-module-lua
Flavors: #
there is no flavor information for this port.
distinfo: #
TIMESTAMP = 1792057131 SHA256 (openresty-lua-nginx-module-v0.10.31_GH0.tar.gz) = 123d8203e74bf66f71437c7b3fa070bf8d24e6d332981bc18dc2db43303cc741 SIZE (openresty-lua-nginx-module-v0.10.31_GH0.tar.gz) = 921425

Packages (timestamps in pop-ups are UTC): #
nginx-module-lua
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest0.10.310.10.31--0.10.31
FreeBSD:14:quarterly0.10.29_40.10.29_4--0.10.29_4
FreeBSD:15:latest0.10.310.10.31n/a-n/a
FreeBSD:15:quarterly0.10.29_40.10.29_4n/a-n/a
FreeBSD:16:latest0.10.29_40.10.31n/a-n/a
This port has no dependencies. #
This port is required by: #
for Build #
  1. www/nginx-full

Configuration Options: #
No options to configure
Options name: #
www_nginx-module-lua
USES: #
cpe
pkg-message: #
FreshPorts was unable to extract/find any pkg message
Master Sites: #
Expand this list (1 items)
Collapse this list.
  1. https://codeload.github.com/openresty/lua-nginx-module/tar.gz/v0.10.31?dummy=/
Collapse this list.
Notes from UPDATING #
These upgrade notes are taken from /usr/ports/UPDATING
  • 2026-08-30
    Affects: users of www/nginx-module-lua
    Author: joneum@FreeBSD.org
    Reason: 
      Since 20260819 www/nginx-module-lua no longer installs a prebuilt
      libexec/nginx/ngx_http_lua_module.so.  The port now only provides the
      module sources used by the nginx ports, because the prebuilt module
      conflicted with the one built by www/nginx with the LUA option.
    
      If nginx.conf contains
    
    	load_module "/usr/local/libexec/nginx/ngx_http_lua_module.so";
    
      nginx will fail to start after the upgrade.  A running nginx keeps
      serving until the next restart, so this may surface later.
    
      Rebuild www/nginx (or www/nginx-devel, www/freenginx) with the DSO and
      LUA options enabled.  The module is installed at the same path again,
      so the load_module line keeps working.  LUA is not a default option,
      therefore the official binary packages do not ship the module.
    
    

Number of commits found: 7 #

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.10.31
15 Oct 2026 11:15:55
commit hash: 67b99bc12c8f596c6d0a32a77debb2698bf7ddc1commit hash: 67b99bc12c8f596c6d0a32a77debb2698bf7ddc1commit hash: 67b99bc12c8f596c6d0a32a77debb2698bf7ddc1commit hash: 67b99bc12c8f596c6d0a32a77debb2698bf7ddc1 files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/nginx-module-lua: Update to 0.10.31

Two stable releases at once, 0.10.29 is from 2025.

All three local patches are gone: 0.10.31 guards the freenginx cases
upstream, in the client hello handler, in the subrequest start time and in
ngx_http_lua_time.

Sponsored by:	Netzkommune GmbH
0.10.29_4
10 Sep 2026 19:50:36
commit hash: dbfd6be0858ca3bf1c59dc1628ff68d12471390dcommit hash: dbfd6be0858ca3bf1c59dc1628ff68d12471390dcommit hash: dbfd6be0858ca3bf1c59dc1628ff68d12471390dcommit hash: dbfd6be0858ca3bf1c59dc1628ff68d12471390d files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/nginx-module-lua: Add CPE information

Sponsored by: Netzkommune GmbH
0.10.29_4
09 Sep 2026 16:37:45
commit hash: b0eaefb10f1646015a6e2ce8d5d95ebdb91284ebcommit hash: b0eaefb10f1646015a6e2ce8d5d95ebdb91284ebcommit hash: b0eaefb10f1646015a6e2ce8d5d95ebdb91284ebcommit hash: b0eaefb10f1646015a6e2ce8d5d95ebdb91284eb files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/{nginx-module-lua,nginx-module-lua-stream}: Fix Lua on freenginx

Both modules call ngx_ssl_client_hello_callback(), guarded only by
nginx_version > 1029001.  freenginx reports 1030001 but has no such
function, so load_module failed with an undefined symbol.  Skip the
call on freenginx, as the modules already do on nginx before 1.29.2.

ngx.req.start_time() returned r->start_time / 1000.0.  freenginx takes
start_time from ngx_current_msec, which is CLOCK_MONOTONIC and not the
Unix epoch, so ngx.now() - ngx.req.start_time() silently returned
garbage.  Derive the epoch value from the current time and the elapsed
milliseconds.

Sponsored by:	Netzkommune GmbH
0.10.29_3
19 Aug 2026 08:26:51
commit hash: ef8818183cede2aa0803634cd3e804c7a6ed943ccommit hash: ef8818183cede2aa0803634cd3e804c7a6ed943ccommit hash: ef8818183cede2aa0803634cd3e804c7a6ed943ccommit hash: ef8818183cede2aa0803634cd3e804c7a6ed943c files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

Copy the module sources with cp instead of COPYTREE_SHARE in the
LUA and LUASTREAM pre-configure targets. COPYTREE_SHARE hardlinks
the files and then fails to chmod them when poudriere builds as an
unprivileged user.

Convert www/nginx-module-lua into a pure source-only port. The
prebuilt DSO conflicted with the module built by the nginx ports.

Add compat patches so lua-nginx-module builds against freenginx.

PR:		297651
Reported by:	Brad Ackerman
Sponsored by:	Netzkommune GmbH
0.10.29_2
13 Aug 2026 22:42:16
commit hash: 62a91023c0af4894d9ab79dd906de2b283002cf6commit hash: 62a91023c0af4894d9ab79dd906de2b283002cf6commit hash: 62a91023c0af4894d9ab79dd906de2b283002cf6commit hash: 62a91023c0af4894d9ab79dd906de2b283002cf6 files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

Start moving the bundled 3rd-party modules into dedicated
nginx-module-* ports, so that module versions are maintained in a
single place instead of the GH_TUPLE lists of the nginx ports.

As a first step, convert www/nginx-module-lua into a hybrid port
that installs the lua-nginx-module sources next to the prebuilt
DSO and use them in the three nginx ports via an unversioned
BUILD_DEPENDS instead of fetching from GitHub.

Sponsored by:	Netzkommune GmbH
0.10.29_1
18 Jul 2026 09:36:03
commit hash: 96b7b9b5af971bff4b0e1ff0c6313297a3c3839fcommit hash: 96b7b9b5af971bff4b0e1ff0c6313297a3c3839fcommit hash: 96b7b9b5af971bff4b0e1ff0c6313297a3c3839fcommit hash: 96b7b9b5af971bff4b0e1ff0c6313297a3c3839f files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/nginx: Update to 1.30.4

Changes:

*) Security: heap buffer overflow when using the map directive with
   regex matching (CVE-2026-42533)
*) Security: uninitialized memory access when using unnamed regex
   captures with the "slice" directive or background cache update
   (CVE-2026-60005)
*) Security: use-after-free when processing a specially crafted
   proxied backend response with the ngx_http_ssi_filter_module
   (CVE-2026-56434)

Release Notes:	https://nginx.org/en/CHANGES-1.30
Security:	56feeac6-8263-11f1-92ba-bc24110523fe
Security:	CVE-2026-42533
Security:	CVE-2026-56434
Security:	CVE-2026-60005

PR:	296830

Sponsored by:	Netzkommune GmbH
0.10.29
26 May 2026 15:36:51
commit hash: 39e6c1c3987096cf99484037c751e27721539af6commit hash: 39e6c1c3987096cf99484037c751e27721539af6commit hash: 39e6c1c3987096cf99484037c751e27721539af6commit hash: 39e6c1c3987096cf99484037c751e27721539af6 files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
www/nginx-module-lua: Add new port

Add a new port for the OpenResty lua-nginx-module dynamic
module for nginx.

WWW: https://github.com/openresty/lua-nginx-module

Sponsored by:	Netzkommune GmbH

Number of commits found: 7