1. 创建维护页面
首先,创建一个HTML文件作为维护页面,例如 maintenance.html,内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>维护中</title>
</head>
<body>
<h1>网站正在维护中</h1>
<p>请稍后再访问。</p>
</body>
</html>
将此文件放在Nginx的某个目录下,例如 /usr/share/nginx/html/maintenance.html。
2. 配置Nginx
编辑Nginx配置文件(通常在 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default),添加或修改以下内容:
server {
listen 80;
server_name yourdomain.com;
# 默认返回502错误
error_page 502 /maintenance.html;
location = /maintenance.html {
root /usr/share/nginx/html;
internal;
}
location / {
# 正常配置
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
3. 重启Nginx
保存配置文件后,重启Nginx使更改生效:
sudo systemctl restart nginx
4. 测试
关闭后端服务后,访问网站应显示维护页面,而不是502错误。
5. 其他注意事项
- 缓存:如果使用了缓存,可能需要清除缓存或调整缓存配置。
- SSL:如果启用了SSL,确保维护页面路径在SSL配置中正确。
通过这些步骤,502错误将被替换为自定义的维护页面。