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;
虽然能运行,但无法显示图片和样式,体验不好。
页面(maintenance.html)和资源(maintenance_files目录)放在nginx的html目录下:
很显然,如果只有单独一个html页面这种配置方式是管用的,但html引用了css和gif资源,这些资源的请求会匹配到其他规则上。 这种情况网上的做法通常是增加.css,.gif这些后缀名的拦截规则,重定向到本地访问。
我这里考虑到文件少,修改内容方便,将html移到maintenance_files目录下(移动后注意修改html代码中css和图片的引用相对路径),将所有文件整合到一个目录里:
通过路径前缀匹配,可以一条规则就搞定:
error_page 500 502 503 504 /maintenance_files;
location ^~ /maintenance_files
root html;
index maintenance.html;
测试结果显示出完整页面内容!
以上是关于Nginx配置带静态资源的50x维护页面的主要内容,如果未能解决你的问题,请参考以下文章
基于Nginx+PHP实现的带权限验证的静态文件服务器,如某些情景需要校验参数后才能返回资源,或者缩略图生成等。