文档章节

Nginx挂载维护页或返回自定义响应信息

o
 osc_y8yehimr
发布于 2019/03/20 17:32
字数 540
阅读 31
收藏 0

精选30+云产品,助力企业轻松上云!>>>

在服务停机升级或者服务暂不可用时,往往希望能够返回给用户更为明确和友好的响应信息。可以通过修改nginx配置文件,达到返回自定义信息的效果。有如下几种配置方式:

(1)Nginx接收到的所有请求,都返回指定的静态资源(静态维护页面或文本)。
修改nginx.conf,在server配置中添加如下配置。其中/maintain.html是针对于nginx静态资源根目录(一般为/usr/local/nginx/html)的相对路径,同时由于nginx不允许静态资源响应POST请求(会报"HTTP 405 Method Not Allowed"错误),故需将405响应改为200。

server {
        listen       9000;
        server_name  www.example.com;
        # ... 此处省略原有配置

        # 所有页面都转跳到维护页
        rewrite ^(.*)$ /maintain.html break;
        #由于Nginx不允许静态文件响应POST请求,故此处将“405 not allowed”修改为“200 ok”
        error_page 405 =200 $uri;

        # ... 此处省略原有配置
}

(2)针对具体应用返回指定静态资源

修改nginx.conf对应应用的location配置:

location /capgate/capTransaction {
        rewrite ^(.*)$ /maintainCap.txt break;
        error_page 405 =200 $uri;
}

(3)针对具体应用返回固定响应信息

修改nginx.conf对应应用的location配置:

location /cashier {
        add_header Content-Type 'text/html; charset=utf-8';
        return 200 'returnCode=600002&returnMessage=系统维护中(8:50-9:40),请稍后再试!System Maintaining(8:50-9:40), try it later!';
}

如果需要在header中添加更多信息,例如报文签名,可通过add_header进行指定:

location /new_mca {
        add_header Content-Type 'text/html; charset=utf-8';
        add_header sign 'Tnzlr/doh7jZpg0ZKPkpjgAT9cMrf8p+a1gCxgwWAmiPNTd1jzFSQRoAxZLTgRAD6kLIIWYsq32XMLi6NObxHuFIpVNJAvmkLODXvA2O7K12qcsvSJn3Io31IMegBAY6dkjelBnHlh/9bkmjKPSziUZ94ZoaOBW4jpkJJ7sStLc=';
        return 200 '{"body":{"USER_ID":"","USER_NO":"","NEW_DEVICE_FLG":"","USER_NAME":"","LOG_FLAG":"","USR_GROUP":"","USER_STATE":""},"responseHeader":{"SUPPORT_VERSION":"","SERVER_TIME":"","RSP_CD":"999999","RSP_MSG":"系统维护中(8:50-9:40),请稍后再试!System Maintaining(8:50-9:40), try it later!"}}';
}

(4)针对不同http响应码指定返回信息

error_page 501 502 503 504 505 @maintain;
location @maintain {
        rewrite ^(.*)$ /maintain.html break;
}

error_page 405 =200 $uri;

 

注:nginx.conf配置文件在nginx安装目录的conf目录下,修改完后,进入sbin目录,执行./nginx -t命令检查配置文件格式是否正确,确认正确后,执行./nginx -s reload命令重新加载nginx配置,使之前的更改生效。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
简单了解一下 Nginx

一、Nginx 基本认识 1、Nginx 是什么?   Nginx 是一款开源的、轻量级的、高性能的 HTTP 服务器 以及 反向代理服务器。   特点是 占有内存少、并发能力强。 2、Nginx 用来干什么?   其...

累成一条狗
05/07
0
0
简单了解一下 Nginx

一、Nginx 基本认识 1、Nginx 是什么?   Nginx 是一款开源的、轻量级的、高性能的 HTTP 服务器 以及 反向代理服务器。   特点是 占有内存少、并发能力强。 2、Nginx 用来干什么?   其...

osc_kcmrx28l
05/08
10
0
Docker数据卷(Volume)

一、将Docker数据挂载到容器   在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中。目前Docker提供了三种不...

osc_6lwba9kg
05/05
16
0
Docker数据卷(Volume)

一、将Docker数据挂载到容器   在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中。目前Docker提供了三种不...

tea_year
05/04
0
0
你必须知道的Docker数据卷(Volume)

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。 一、将Docker数据挂载到容器   在Docker中,要想实现数据的持久化(所谓Docker的数据持久...

EdisonZhou
2019/08/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

科技人文丨玻璃心:承受阈值与表达

大家好,我是SKODE。 有趣的灵魂,聊科技人文。 本系列博客地址:传送门 本文转载自B站:安慰记传送门 玻璃心是网络用语,意思是: 对负面事件的接受度很低 还有对别人可能给出的负面评价非常...

osc_u9mt0sus
49分钟前
20
0
迅睿CMS 游客不允许上传附件

游客不允许上传附件 迅睿CMS系统:https://www.xunruicms.com/ 本文档原文地址:https://www.xunruicms.com/doc/752.html...

迅睿CMS-PHP开源CMS程序
49分钟前
7
0
代理,注解,接口和实现类的小测验

* retention : 保留* policy : 策略 ps : 简单测试了一下手写代理,jdk动态代理,和cglib动态代理,根据其不同的结果分析其原理 一:测试目的 主要想看一下不同的代理模式对于目标类中方法上注...

岁一
50分钟前
12
0
V-Ray 5 For 3ds Max 正式发布:超越渲染 - 知乎

15个新功能,V-Ray5助你时间更节省,渲染更出色! 作者:ChaosGroup VRay 5 For 3ds Max 已正式发布! 2分钟视频,抢先预览新功能↓ 知乎视频 www.zhihu.com V-Ray 5 for 3ds Max 新增功能 ...

osc_o9u1um45
50分钟前
0
0
毕业的笑容和悲伤永远是校园的回忆

校园的风轻轻的拂过我的脸庞,风儿显得更加凉爽, 开满火红的凤凰树,染遍了校园的每个角落, 晚上那枝头蝉儿的竞相鸣奏,唱满了令人不舍的毕业歌, 它们彷彿告诉了我们要毕业了。 毕业典礼那...

瑾123
51分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部