Nginx

nginx - 無法建構最佳 variables_hash

  • April 18, 2022

一段時間以來,nginx 給了我這個警告:

nginx: [warn] could not build optimal variables_hash, you should increase either variables_hash_max_size: 1024 or variables_hash_bucket_size: 64; ignoring variables_hash_bucket_size

但是在我的配置的 http 塊中,我有這個:

http {
 # More config...

 variables_hash_max_size 1024;
 variables_hash_bucket_size 64;

 # More config...
}

(增加更高的值也不能解決它!另外我跑nginx -T並檢查這些鍵是否設置為不同的值,它們不是!)

我該如何解決這個問題?

(如果需要,我會發布更多配置。我只是不確定哪些部分是相關的。)

你提到…

並檢查這些鍵是否設置為不同的值,但事實並非如此!

那隻是對聲明性進行抽查,還是您對配置文件進行了grep?我會做後者以確保它也不會在其他地方聲明。

粘貼結果nginx -V

您是否啟用了任何額外的模組?你嘗試了多高的價值?您可能將模組添加到變數權重中,或者您聲明了很多(或冗長的值)。

警告消息顯示目前值,而不是建議值。

如果您收到此警告,您應該將該值設置為現有值的兩倍,這應該是 2 的冪。因此variables_hash_max_size 2048;應該可以工作。

參考:NGINX 文件

引用自:https://serverfault.com/questions/859181