是否可以从反向代理返回字符串作为 nginx 错误页面?

是否可以从反向代理返回字符串作为 nginx 错误页面?

我正在寻找一种方法,当某个部分返回某些 HTTP 代码时,从 nginx 提供静态消息upstreams。我知道我可以使用静态页面并要求 NGINX 提供这些页面,但这比我需要的稍微复杂一些 - 真正需要的只是(用伪代码)说

if($code_from_proxy_upstream == 500){
   return 500 'Error Occured'
}

我读问题和问题,但我认为它们不能完全满足我的需要。我认为我需要两者的某种组合,但不太确定语法。

答案1

我基本可以让它发挥作用。

我添加了一组如下指令:

error_page 508 @myerrordirective_508;

进而

location @myerrordirective_508{
   return 508 "Error Occured"
}

唯一的痛苦是 nginx 似乎不允许我使用变量来引用状态(这样我就只能使用一个带有$status或 的块,这意味着每个状态都需要一个error_page和一个location块。因此,我使用脚本为每个错误代码生成类似上面的行,并将它们放入我从主配置链接的包含文件中

似乎做了我想要做的事。

相关内容