原文中文,约6100字,阅读约需15分钟。
📝
内容提要
本文总结了Nginx常见的配置错误,包括文件描述符耗尽、无法关闭错误日志、上游未开启长连接、混淆配置继承规则和Alias安全风险。文章提供了解决这些问题的方法和建议。
❓
Q&A
Nginx 中如何解决文件描述符耗尽的问题?
可以通过设置 worker_connections 和 worker_rlimit_nofile 来限制每个工作进程的 TCP 连接数量和最大文件描述符数量。
如何正确关闭 Nginx 的错误日志?
应使用配置 error_log /dev/null emerg; 来关闭错误日志,而不是 error_log off;,后者会创建名为 off 的日志文件。
Nginx 如何开启与上游服务器的长连接?
可以在 upstream 配置中添加 keepalive 指令,例如 keepalive 16;,并在 proxy_pass 中设置 HTTP/1.1 协议。
Nginx 配置中的继承规则是怎样的?
低层级的配置块优先级高于高层级,低层级配置会覆盖高层级配置。
如何保护 Nginx 的系统状态信息?
可以通过 HTTP Basic 认证或限制 IP 网段来保护状态信息,例如使用 auth_basic 和 allow/deny 指令。
使用 Nginx 的 alias 指令时需要注意什么?
使用 alias 时需确保路径安全,避免用户绕过目录限制,例如应使用 location /pic/ { alias /data/pic/; } 的形式。
🏷️