引用字符串与文件的nginx自定义错误配置

Ger*_*emy 4 nginx

我知道我可以为自定义错误页面设置一个文件:

location / {
    error_page 404 = /mybad.html;
}
Run Code Online (Sandbox Code Playgroud)

但我只是想在配置文件中将我的页面覆盖作为文本内联提供:

 location / {
    error_page 404 = "<H1>Sorry!</H1>"
}
Run Code Online (Sandbox Code Playgroud)

这可能与nginx有关吗?

VBa*_*art 11

location / {
    error_page 404 @sorry;
}

location @sorry {
    return 404 "<H1>Sorry!</H1>";
}
Run Code Online (Sandbox Code Playgroud)

  • 如果将此选项与其他选项(例如proxy_pass)一起使用,则可能会看到浏览器的默认错误。这是因为nginx向浏览器暗示您的文本是二进制字符串。在您的@sorry位置块中添加`default_type text / html`可以解决此问题。 (2认同)
  • 谢谢。为我工作。不得不按照杰米的建议将 `default_type text/html` 放在 `location @sorry` 部分。 (2认同)