You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NGINX错误页面中自定义服务器名称

如何在NGINX错误页面中自定义服务器名称

当然可以实现这个需求!其实NGINX的配置灵活性刚好能帮你解决这个问题——通过自定义错误页面,就能替换掉默认的“NGINX”标识,方便你区分错误是来自自己的服务器还是中间的CDN(比如Cloudflare)。下面给你两种简单的实现方式:

方法一:自定义HTML错误页面

这种方式适合需要更个性化页面样式的场景:

  1. 先创建一个自定义的500错误页面文件,比如放在NGINX的静态文件目录下(比如/usr/share/nginx/html/custom_500.html),内容示例如下:
<!DOCTYPE html>
<html>
<head>
    <title>500 Internal Server Error</title>
</head>
<body>
    <h1>500 Internal Server Error</h1>
    <hr>
    <p>my-custom-server-nginx</p> <!-- 这里替换成你想要的自定义名称 -->
</body>
</html>
  1. 打开NGINX的配置文件(比如主配置nginx.conf,或者站点对应的配置文件),添加以下配置:
# 指定500错误时跳转到自定义页面
error_page 500 /custom_500.html;

# 配置自定义页面的访问规则,限制仅内部跳转访问
location = /custom_500.html {
    root /usr/share/nginx/html;
    internal;
}
  1. 重新加载NGINX配置:sudo nginx -s reload,之后再触发500错误,就能看到底部的自定义标识了。

方法二:直接在配置中返回错误内容

如果不需要复杂的页面样式,只想快速修改标识,可以直接在NGINX配置里写响应内容,不用额外创建HTML文件:
在配置文件中添加:

# 定义500错误的处理规则
error_page 500 @custom500;

location @custom500 {
    # 返回自定义的HTML内容,把标识改成你需要的
    return 500 '<!DOCTYPE html><html><head><title>500 Internal Server Error</title></head><body><h1>500 Internal Server Error</h1><hr><p>my-custom-server-nginx</p></body></html>';
    # 指定响应的内容类型为HTML
    add_header Content-Type text/html;
}

同样执行sudo nginx -s reload生效即可。

额外提醒

如果你的服务器前面套了Cloudflare这类CDN,要注意CDN本身可能会返回自己的错误页面。不过刚好这能帮你区分:当看到你的自定义标识时,说明错误确实发生在你的服务器上;如果显示Cloudflare的标识,那就是请求在CDN环节出了问题,完美契合你的需求~

备注:内容来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 08:33:13