nginx挂维护页面
本篇文章摘抄于他人的文章,来自于CSDN的JeremyIT同学,但我还是自己重新敲一遍。
需求1:访问网站的任何页面,都跳转到同一个页面,而这一个页面就是维护页面。(外部用户和公司内部的人都跳转到维护页面)
server {
listen ;
index index.html index.htm;
server_name www.example.com;
if ($request_uri !~ "^/maintain.html$") {
rewrite ^(.*) http://www.example.com/maintain.html permanent;
}
location / {
...
}
}
需求2:
(1) 不能关闭所有页面的访问,对于某些重要页面还是得开放给外部用户,比如充值页面等。
(2) 对于新上线的功能,我们只是不希望外部访问到,但是我们公司内部得能访问,这样就能进行测试,测试完后再对外开放。
server {
listen ;
server_name www.example.com;
set $flag ;
if ($remote_addr !~ "192.168.198.2") {
set $flag "${flag}1";
}
if ($request_uri !~* ^(/maintain.html|/pay/index.html)$) {
set $flag "${flag}2";
}
if ($flag = "") {
rewrite ^(.*) http://192.168.198.131/maintain.html permanent;
}
location / {
...
}
}
对于公司内部(192.168.198.2)来说,我们可以访问一切位置。
对于外部人员来说,如果我们访问的页面不是/maintain.html或者/pay/index.html时,那么会强制跳转到/maintain.html页面。
等同于说,对外部人员开放的只有/maintain.html和/pay/index.html页面,其他业务无权访问。
这样就实现了需求。
备注:我在测试时,始终没有绕过弯,一直卡在对于外网地址,分为跳转和不跳转,结果一直没写出来。其实应该换一个思维,那就是哪些对外开放,哪些对外不开放。
开放的只有/maintain.html和/pay/index.html,其他都不开放。
需求3::当用户访问我们的网站,出现502状态码时,nginx自动跳到个性化页面,而不是显示冰冷的502数字。
server {
listen ;
server_name www.example.com;
# ... 省略掉 N 行代码
error_page = @tempdown;
location @tempdown {
rewrite ^(.*)$ /custom.html break;
}
}
nginx挂维护页面的更多相关文章
- nginx做维护页面
需求: 一个网站本来有好几个域名,然后也有好几个二级域名,现在停掉了,要求把所有的域名.二级域名,以及具体的文件请求,都指向一个维护页面. 1 单独在vhost里建一个conf文件 server { ...
- Nginx 设置临时维护页面
Nginx 设置临时维护页面 http://www.myexception.cn/open-source/1753957.html http://blog.justwd.net/snippets/ng ...
- k8s应用首页临时改成升级维护页面
在本地虚拟机 产生一个nginx配置文件 [root@centos-01 dockerfile]# cat weifeng_maintain.conf server { listen 443; ser ...
- Nginx挂载维护页或返回自定义响应信息
在服务停机升级或者服务暂不可用时,往往希望能够返回给用户更为明确和友好的响应信息.可以通过修改nginx配置文件,达到返回自定义信息的效果.有如下几种配置方式: (1)Nginx接收到的所有请求,都返 ...
- nginx日常维护常用命令
http://www.jb51.net/article/47750.htm 一.简明nginx常用命令 1. 启动 Nginx poechant@ubuntu:sudo ./sbin/nginx 2. ...
- 2.Nginx日常维护技巧
Nginx日常维护技巧 Nginx配置正确性检查 nginx提供了配置文件调试功能,可以快速定义配置文件存在的问题.执行如下命令检测配置文件的正确性: [root@localhost 桌面]# whi ...
- Nginx日常维护操作(3)
一.简明nginx常用命令 1. 启动 Nginx /sbin/nginx service nginx start 2. 停止 Nginx /sbin/nginx -s stop /sbi ...
- Nginx自定义404页面并返回404状态码
Nginx定义404页面并返回404状态码, WebServer是nginx,直接告诉我应该他们配置了nginx的404错误页面,虽然请求不存在的资源可以成功返回404页面,但返回状态码确是200. ...
- nginx 部署web页面问题
nginx 部署web页面的时候,路径都是对的,但是css文件就是不起作用,控制台提示如下,原来是格式的问题,截图如下: css 被转成了application/octet-stream,这个是ngi ...
随机推荐
- CString常用函数
转自:http://www.cnblogs.com/Caiqinghua/archive/2009/02/16/1391190.html CString( );例:CString csStr; CSt ...
- 在 PL/SQL 块的哪部分可以对初始变量赋予新值? (选择1项)
A.结尾部分 B.开头部分 C.执行部分 D.声明部分 解答:C
- c/c++函数指针(3)
原文地址:http://blog.csdn.net/qingshuiyangfan/article/details/7692647 学习要点: 1,函数地址的一般定义和typedef简化定义; ...
- Graphviz 对网状结构进行可视化
Graphviz 是一款开源的,免费的图结构的可视化软件,只需要描述清楚图中的顶点,边的信息,Graphviz 可以自动化的对图进行布局,生成对应的图片: Graphviz 采用DOT 的这种语言来描 ...
- samtools faidx 命令处理fasta序列
samtools faidx 能够对fasta 序列建立一个后缀为.fai 的文件,根据这个.fai 文件和原始的fastsa文件, 能够快速的提取任意区域的序列 用法: samtools faidx ...
- Java中关于“=”和“==”的分析
Java中变量分为普通原始变量(int char float等)和对象 一"=" (1)普通原始变量 普通原始变量的声明和赋值语句例如以下 int a=3; int b=a; 此时 ...
- [LeetCode] Subsets II [32]
题目 Given a collection of integers that might contain duplicates, S, return all possible subsets. Not ...
- 关于write solid code中的memset
文中说明memset可以通过操作整形以加速程序执行速度,这一点值得肯定,问题在于unicore或arm中协处理器有地址访问对齐检查,如果我们如此操作,编译器最终使用str指令来完成,那么当地址未对齐时 ...
- Dedecms当前位置{dede:field name='position'/}修改,去掉>方法
Dedecms当前位置{dede:field name='position'/}修改,如何去掉> 一.修改{dede:field name='position'/}的文字间隔符,官方默认的是&g ...
- 件测试专家分享III GUI自动化测试相关
GUI自动化:效率为王—脚本与数据解偶 页面对象模型的核心理念是,以页面(Web Page或者Native App Page)为单位来封装页面上的空间以及控件部分操作. 而测试用力,更确切的说是操作函 ...