nginx实现公告维护页面

你们是不是会遇到这样的需求,某个新版本上线时,需要停机(这里不考虑灰度发布),如果不设置维护页面,用户访问时就会很不友好,显示404或者显示503;我们就希望在维护的时间段内,用户访问域名时显示系统正在维护中,你们都是怎么实现的呢?

这里我分享下在nginx如何配置实现:

1、首页新增一个conf文件,放在某个路径下,如:/etc/tmp/page.conf

2、要维护的域名下 include 该配置文件

3、对应满足条件的请求用户,rewrite到指定页面

具体配置如下:

1)、

location / {

#这里你要做的条件判断,放在配置文件里,需要时去掉注释#

# include /etc/tmp/page.conf;

proxy_set_header Host $http_host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header remote-port $remote_port;

proxy_pass http://gateway_servers/;

}

2.1)、这个写在/etc/tmp/page.conf里

location / {

root /data/page/; #你要展示的页面放在这个路径下

index index.html;

}

2.2)、

if ( $update_flag != 1 ) # 这里具体可以参考上一篇文章

{

return 302 https://xxx.xxx.com/page/index.html;

}

4)、index.thml

自己写个简单页面,注明维护时间


这个方法在配置上稍等有点复杂,但还是很实用的,你们一般是怎么做的呢?

相关文章

Nginx的安全控制及SSL加密介绍

Nginx作为方向代理,如何提升安全性呢?安全隔离什么是安全隔离?通过代理分开了客户端到应用程序服务器端的连接,实现了安全措施。在反向代理之前设置防火墙,仅留一个入口供代理服务器访问。如果web服务器...

第 9 章:使用 NGINX 进行监控和故障排除

监控和故障排除是 Web 服务器管理的重要方面。 NGINX 提供各种工具和技术来帮助您了解 Web 服务器的性能、诊断问题并维护可靠的 Web 环境。在本章中,我们将探讨如何监控 NGINX 并对其...

我把 Nginx 换成了 Caddy,用了才知道真香!

用了这么多年 Nginx,本来也没觉得它有啥不好,直到我一次部署新项目时偶然用了下 Caddy,才发现这玩意儿真的不是“平替”,而是“降维打击”。这篇文章就来聊聊: 为什么我放弃了 Nginx Cad...