Nginx配置带静态资源的50x维护页面

Posted pfzd17live

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置带静态资源的50x维护页面相关的知识,希望对你有一定的参考价值。

前几天开发找我要求给应用系统配置一个自定义的停机维护页面,开发原先按nginx示例中的error_page方式配置:

       error_page  500 502 503 504  /maintenance.html;

       location =/maintenance.html

           root   html;

       

虽然能运行,但无法显示图片和样式,体验不好。

Nginx配置带静态资源的50x维护页面_nginx

页面(maintenance.html)和资源(maintenance_files目录)放在nginx的html目录下:

Nginx配置带静态资源的50x维护页面_nginx_02

很显然,如果只有单独一个html页面这种配置方式是管用的,但html引用了css和gif资源,这些资源的请求会匹配到其他规则上。 这种情况网上的做法通常是增加.css,.gif这些后缀名的拦截规则,重定向到本地访问。

我这里考虑到文件少,修改内容方便,将html移到maintenance_files目录下(移动后注意修改html代码中css和图片的引用相对路径),将所有文件整合到一个目录里:

Nginx配置带静态资源的50x维护页面_nginx_03

通过路径前缀匹配,可以一条规则就搞定:

       error_page  500 502 503 504  /maintenance_files;

       location ^~ /maintenance_files

           root   html;

           index  maintenance.html;

       

测试结果显示出完整页面内容!




以上是关于Nginx配置带静态资源的50x维护页面的主要内容,如果未能解决你的问题,请参考以下文章

nginx代理访问不了二级目录下的静态资源

nginx系列3:搭建一个静态资源web服务器

nginx静态资源缓存策略配置

基于Nginx+PHP实现的带权限验证的静态文件服务器,如某些情景需要校验参数后才能返回资源,或者缩略图生成等。

Nginx——nginx作为静态资源web服务(浏览器缓存示例演示)

(012)Nginx静态资源web服务_防盗链配置