Avoiding the top Nginx configuration mistakes
Nearly all of these are approximately "users did something they expected to work, but it didnt; shame on them" or "We chose a safe but mostly bad default, shame on users for not realizing it".<p>I understand the rational for not changing old defaults in fear of breaking existing configs. However, maybe a release or two of deprecation or better optimized defaults under new names or a new (kinda gross but...) strict mode which is opt-in but is the new default for new instalations.<p>1. Warn the user on startup of potential misconfiguration
2. Allow error_log off to work, as users are expecting it to
3. Enable keep alive by default
4. Acknowledge the confusing syntax and find a better solution than blaming users
5. Warn the user on startup of impact of proxy_buffering off
6. See 4
7. See 1
8. See 1
9. Fix the proxy hash algorithm so that it hashes the whole address (why only first 3 octets?) or give it a new name; see also 1
10. Detect possible optimizations on startup and implement automatically; why ask the user to config something that can potentially be detected automatically?