当前位置:  开发笔记 > 后端 > 正文

在nginx中处理OPTIONS请求

如何解决《在nginx中处理OPTIONS请求》经验,为你挑选了1个好方法。

我们目前正在使用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中设置响应?



1> rogeriopvl..:

我可能迟到了,但我遇到了同样的问题,并找到了两个解决方案.

首先是欺骗Nginx,405状态实际上是200 OK然后代理将它传递给你的HAProxy,如下所示:

error_page 405 =200 @405;
location @405 {
    root /;
    proxy_pass http://yourproxy:8080;
}

第二个解决方案是捕获OPTIONS请求并为这些请求构建响应:

location / {
    if ($request_method = OPTIONS ) {
        add_header Content-Length 0;
        add_header Content-Type text/plain;
        return 200;
    }
}

只需选择哪一个更适合你.

我在博客文章中写了这篇文章,你可以在其中找到更多细节.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有