如何在nginx中不返回错误/error_page的正文/内容



如果找不到文件,或者禁止文件等 - 我真的很想只返回HTTP状态代码而不返回正文内容。像这样:

error_page 403 404 body="";

当前(2015 年)的最佳实践是什么?

我不确定这是否是最佳实践,但即使不创建实际的空文件,它仍然有效。

error_page 403 404 /__empty-error-page__.html;
location = /__empty-error-page__.html {
  internal;
  return 200 "";
}

我想出的最好的方法是创建一个零字节文件:

$ touch _.json

在我的nginx配置中将该位置设置为内部位置,并将error_page指向它:

location /_.json { internal; } error_page 403 404 /_.json;

根据您的内容类型,将_.json替换为所需的_.mime-type-extension

实际上,所有当前选项都意味着每个错误代码的位置不是一个干净的解决方案。当你编译你的nginx时,只需处理src/http/ngx_http_special_response.c中的身体

最新更新