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

Nginx反向代理端口不可用时,如何展示指定HTML页面?

Nginx反向代理后端不可用时展示自定义HTML页面的配置方法

可以实现,核心思路是利用Nginx的error_page指令捕获后端不可用触发的5xx状态码,将请求转发到自定义的静态HTML页面。以下是修改后的完整配置示例:

# 定义命名location处理错误请求
location @custom_maintenance {
    internal; # 禁止外部直接访问此路径
    root /var/www/static; # 替换为存放自定义HTML的目录
    try_files /maintenance.html =404; # 替换为你的自定义页面文件名
}

location /app/ {
    proxy_pass http://127.0.0.1:1111/;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    # 缩短超时时间,快速检测后端状态
    proxy_connect_timeout 3s;
    proxy_send_timeout 3s;
    proxy_read_timeout 3s;
    
    # 捕获后端不可用对应的错误码,跳转到自定义页面
    error_page 502 503 504 @custom_maintenance;
}

关键配置说明:

  • @custom_maintenance:命名location,专门处理错误请求。internal指令确保只有Nginx内部跳转能访问该页面,避免用户直接请求。
  • 超时配置:proxy_connect_timeout等指令缩短Nginx与后端的连接/响应超时时间,让后端不可用的状态更快被检测到,减少用户等待时长。
  • error_page:指定当出现502(网关错误,后端端口不可达)、503(服务临时不可用)、504(网关超时)时,转发到自定义页面的处理逻辑。

注意事项:

  1. 确保目标静态文件目录存在,且自定义HTML文件的权限允许Nginx读取(通常设置为Nginx运行用户可访问)。
  2. 自定义HTML页面可根据需求设计内容,比如提示用户“服务维护中,稍后再试”等信息。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:46:01