Some suggestions for freenginx project

Maxim Dounin mdounin at mdounin.ru
Tue Mar 5 16:28:30 UTC 2024


Hello!

On Tue, Mar 05, 2024 at 01:37:49AM +0900, highclass99 wrote:

> Hello,
> 
> Some suggestions for freenginx project.
> 
> I suggest the following modules be included for default build in freenginx,
> I nearly sure the traffic stats features would be a "wow" factor for many
> who do not know about the modules compared to nginx.
> 1.
> These modules would add much commonly used traffic stats features from
> nginx plus for stats.
> https://github.com/vozlt/nginx-module-vts
> https://github.com/vozlt/nginx-module-sts
> https://github.com/vozlt/nginx-module-stream-sts
> 
> 2.
> This would be a better version of tengine sysguard module, compatible with
> nginx
> https://github.com/vozlt/nginx-module-sysguard
> 
> I suggest the following be completely built into freenginx
> 3.
> This would add an important feature similar to nginx commercial allowing
> dns resolves for upstream etc
> https://github.com/eriede/nginx-upstream-dynamic-servers
> 
> 4.
> Add feature to limit and prevent excessive logging for nginx rate limiting.
> Rate limiting feature in nginx has major problem that you can only log all
> rate limits or none/
> I have seen rate limiting all requests cause so much IO due to DDoS attacks
> that nginx stops responding mainly because of logging IO.
> 
> 5.
> Add feature so that when rate limiting occurs, block or redirect the IP for
> a certain of time.
> 
> 6.
> Add feature for dynamic upstream support.

Thanks for the suggestions, appreciated.

I'm somewhat sceptical about the idea of importing 3rd party 
modules, though certainly suggested modules are a good indicator 
of various areas to improve.  In particular, stub_status module is 
somewhat outdated, and needs improvements, much like the 
degradation module, which is not documented and mostly 
non-functional for a long time now.

Particularly for logging improvements as mentioned in (4), I've 
recently submitted a patch series which introduces logging 
moderation when logging errors during syslog logging:

https://freenginx.org/pipermail/nginx-devel/2024-March/000069.html

Introducing logging moderation in various other areas certainly 
might make sense as well.  Further, it might be a good idea to add 
something general.  Right now I'm thinking about something like 
"bump logging level if more than N messages per second are seen" 
or similar (leaky bucket for each logging level?), so it would 
adapt dynamically for various logging rates.

-- 
Maxim Dounin
http://mdounin.ru/



More information about the nginx mailing list