关于配置:避免-10-大-NGINX-配置错误下
原文作者:Timo Stark of F5 和 Sergey Budnevich of F5原文链接:防止 10 大 NGINX 配置谬误转载起源:NGINX 官方网站在帮忙 NGINX 用户解决问题时,咱们常常会发现配置谬误,这种配置谬误也每每呈现在其余用户的配置中,甚至有时还会呈现在咱们的 NGINX 工程师共事编写的配置中!本文介绍了 10 个最常见的谬误,并解释了问题所在以及相应的解决办法。 1.每个 worker 的文件描述符有余2.error_log off 指令3.未启用与上游服务器的 keepalive 连贯4.遗记指令继承的工作机制5.proxy_buffering off 指令6.if 指令使用不当7.过多的健康检查8.不平安地拜访指标9.当所有流量都来自同一个 /24 CIDR 块时应用 ip_hash10.不采纳上游组 谬误 6:if 指令使用不当if 指令应用起来很辣手,尤其是在 location{}块中。它通常不会依照预期执行,甚至还会导致呈现段谬误。事实上,在 NGINX Wiki 中有一篇题为“if 问题多多 (If is Evil)”的文章,具体探讨了 if 问题以及如何防止这些问题。 通常,在 if{} 块中,您能够始终平安应用的指令只有 return 和 rewrite。以下示例应用 if 来检测蕴含 X‑Test http音讯头的申请(能够是您想要测试的任何条件)。NGINX 返回 430 (Request Header Fields Too Large) 谬误,在指定的地位 @error_430 进行拦挡并将申请代理到名为 b 的上游 group。 ...