当在nginx上配置大约20个反向代理站点时,重启nginx报错【could not build server_names_hash, you should increase server_names_hash_bucket_size: 32】。

该报错是由于server_name字段过长导致的。

解决办法:

在nginx.conf中的http区段合适的位置添加【server_names_hash_bucket_size   512;】。

然后重新加载nginx,命令如:nginx -s reload。

然后尝试打开被反向代理的域名是否能正常访问。

如果还不能访问,建议停止nginx服务,再重新开启nginx服务,命令如:nginx -s stop或nginx -s quit,之后再start nginx。

如果还不行?那就再次增大bucket的值,如【server_names_hash_bucket_size   1024;】,然后再执行停止和启动nginx服务。

如果还不行?那就继续增大bucket的值,规则是2的幂,值如32,64,128,512,1024等等。

直至问题解决。

更多推荐