ctm*_*ler 26 http nginx haproxy http-options-method
我们目前正在使用HAProxy作为负载均衡器,它会定期向下游框发出请求,以确保它们使用OPTIONS请求存活:
选项/index.html HTTP/1.0
我正在使用缓存(使用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
当直接点击下游网络服务器时,我得到了适当的200响应.我的问题是:如何让nginx将响应传递给HAProxy,或者,如何在nginx.conf中设置响应?
rog*_*pvl 37
我可能迟到了,但我遇到了同样的问题,并找到了两个解决方案.
首先是欺骗Nginx,405状态实际上是200 OK然后代理将它传递给你的HAProxy,如下所示:
error_page 405 =200 @405;
location @405 {
root /;
proxy_pass http://yourproxy:8080;
}
Run Code Online (Sandbox Code Playgroud)
第二个解决方案是捕获OPTIONS请求并为这些请求构建响应:
location / {
if ($request_method = OPTIONS ) {
add_header Content-Length 0;
add_header Content-Type text/plain;
return 200;
}
}
Run Code Online (Sandbox Code Playgroud)
只需选择哪一个更适合你.
在 httpchk 选项中,您可以像这样指定 HTTP 方法:
httpchk GET http://example.com/check.php
Run Code Online (Sandbox Code Playgroud)
您还可以使用 POST 或简单的 URI(例如 /)。我让它检查 PHP,因为 PHP 在 Nginx 外部运行。
| 归档时间: |
|
| 查看次数: |
29783 次 |
| 最近记录: |