replace-response
lua-nginx-module
replace-response | lua-nginx-module | |
---|---|---|
1 | 16 | |
88 | 11,103 | |
- | 0.4% | |
4.9 | 8.1 | |
5 months ago | about 1 month ago | |
Go | C | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
replace-response
-
The Future of Nginx: Getting Back to Our Open Source Roots
> But there are many scenarios where being able to extend the HTTP server via Lua is more convenient than writing a plugin I would think?
Well, Caddy is written in Go, so it's only natural to write a plugin in Go. Statically compiled into your binary. We provide a tool called `xcaddy` which is used to produce builds of Caddy with any plugins you need. You just need Go installed on your system to run it, no other dependencies.
The reason why Lua is used for OpenResty is because writing plugins in C is... not fun.
You can absolutely do what you described with an HTTP handler module in Caddy. You'd just wrap the req.Body with a reader that watches the bytes as they're copied through the stream, and when you see the part you want to log, you do that.
We have a replace-response plugin which takes a similar approach, except it manipulates the response as it's being streamed back to the client. https://github.com/caddyserver/replace-response The whole plugin is just one file of Go code.
lua-nginx-module
-
Ravi is a dialect of Lua, with JIT and AOT compilers
"small embeddable dynamic languages" are usually used to configure or program other larger compiled applications. This is bes understood by example:
https://create.roblox.com/docs/tutorials/scripting/basic-scr... - make a mini game in Roblox
https://github.com/openresty/lua-nginx-module?tab=readme-ov-... - configure and extend NGINX
https://wezfurlong.org/wezterm/config/lua/general.html - make your terminal more useful (my personal config changes the tab color based on the process name - https://github.com/bbkane/dotfiles/blob/master/wezterm/dot-c...
https://m.youtube.com/watch?v=MQBr9hwf0BY - configure your text editor
- Nginx Development Guide
-
How to add rate limiting in nginx with redis and cloudflare?
If your service is self-hosted, you can build the rate limit rules in Nginx using the OpenResty framework. Note that, if you are using OpenResty, you can use a shared dictionary and you don't necessarily need Redis. However, if you want to use redis though, then you need a redis client like the lua-resty-redis.
-
lua openresty nginx proxy
You may also wish to open a question on the OpenResty repo, as there are not many OpenResty folks that follow this subreddit.
-
listen on port TCP and forward data to HTTP as POST request
/u/givmedat - Your best bet is to use njs module or the nginx lua module I think.
-
What do you use to log whole HTTPS requests in the cluster?
I drop logs at the first app LB using openresty's lua plugin for nginx. This goes into my data lake and we work on it from there. Does this work for everyone? No. Does it work for my F500 employer? Yes. Are there better ways to do this? Sorta.
-
The Future of Nginx: Getting Back to Our Open Source Roots
# - https://github.com/openresty/lua-nginx-module/
-
Writing your own service discovery client for Apache APISIX
We want the client to read the YAML file regularly. For this, we can leverage the power of the Lua Nginx module. It's part of OpenResty, which Apache APISIX is built upon. The module offers additional APIs, and two of them are particularly useful:
- Uma introdução ao NGINX
-
When your API performances becomes a thing, is switching to GO the ultimate solution ?
Depending on how complicated your Python logic is, one option is to use nginx+Lua (https://github.com/openresty/lua-nginx-module). Another option is to extend Envoy (https://www.envoyproxy.io/docs/envoy/latest/extending/extending).
What are some alternatives?
cache-handler - Distributed HTTP caching module for Caddy
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
nginx-cluster - A horizontally scalable NGINX caching cluster
Docker Compose - Define and run multi-container applications with Docker
server-side-tls - Server side TLS Tools
EmmyLuaDebugger - EmmyLua Debugger
caddy-ratelimit - HTTP rate limiting module for Caddy 2
njs - An official read-only mirror of http://hg.nginx.org/njs/ which is updated hourly.
caddy-l4 - Layer 4 (TCP/UDP) app for Caddy
IdentityServer4 - OpenID Connect and OAuth 2.0 Framework for ASP.NET Core
kubernetes-ingress - NGINX and NGINX Plus Ingress Controllers for Kubernetes