我们目前使用HAProxy作为负载均衡器,它定期向下游盒子发出请求,以确保它们使用OPTIONS请求活着:
HTTP/1.0/2016 - 03 - 28
我正在使用缓存(使用ncache)将nginx设置为反向代理。出于某种原因,当OPTIONS请求进入时,nginx返回405:
192.168.1.10- [22/Oct/2008:16:36:21 -0700]“OPTIONS/index.html HTTP/1.0”405 325“-”-”192.168.1.10
当直接命中下游的web服务器时,我得到了一个正确的200响应。我的问题是:如何让nginx将该响应沿着给HAProxy,或者,如何在nginx.conf中设置响应?
2条答案
按热度按时间vaj7vani1#
我可能迟到了,但我遇到了同样的问题,并找到了两个解决方案。
首先是欺骗Nginx,405状态实际上是200 OK,然后像这样将其传递给HAProxy:
字符串
第二种解决方案是捕获OPTIONS请求并为这些请求构建响应:
型
选一个更适合你的
我在blog post中写了这篇文章,你可以在这里找到更多细节。
68bkxrlz2#
在httpchk选项中,您可以像这样指定HTTP方法:
字符串
你也可以使用POST,或者像/这样的普通URI。我让它检查PHP,因为PHP在Nginx外部运行。