我们在Nginx上运行了一个API,它应该返回JSON对象.这个服务器有很多负载,所以我们做了很多性能改进.
API从客户端接收ID.服务器有一堆代表这些ID的文件.因此,如果将ID作为文件找到,则后端将返回该文件的内容(即JSON).如果文件不存在,则不调用后端,Nginx simple会为此发送404,因此我们保存了性能(没有后端系统必须运行).
现在我们偶然发现了一个问题.由于我们仍然需要支持旧系统,我们无法为客户分发404页面,因为这会导致问题.我想出的是,返回一个空的JSON字符串而不是({})带有’假’200状态代码.这需要是一个高性能的解决方案,仍然能够处理所有负载.
这可能吗,如果可以,怎么做?
最佳答案
error_page 404 =200 @empty_json;
location @empty_json {
return 200 "{}";
}
参考:
> http://nginx.org/r/error_page
> http://nginx.org/r/return
> http://nginx.org/r/location
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。