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 ...
随机推荐
- PHP 5种方式获取文件后缀名
<?php header("content-type:text/html;charset=utf-8"); function get_ext1($filename) { re ...
- redis windows 版配置使用
网上下载windows版的redis 在D盘新建redis目录 把下载的redis压缩包解压到redis目录,如图: 打开配置文件 redis.windows.conf 把 SECURITY下的req ...
- linux 删除文件夹及其内容,显示文件路径
比如要删除work文件夹包括里面的内容,则:rm -r /home/ftk/apache-tomcat-5.5.20/work,不管它是文件还是目录都删掉了 知道文件名 要查询文件大概地址用~cd ~ ...
- 第八章 示例代码(MyBatis)
Sample Code JPetStore 6 is a full web application built on top of MyBatis 3, Spring 3 and Stripes. I ...
- Linux上Nginx部署配置--二级域名配置
http://www.cnblogs.com/yaunion/archive/2013/03/16/2962385.html http://blog.csdn.net/LBinin/article/d ...
- ZooKeeper(七)-- ZK原生API实现分布式锁
一.使用场景 在分布式应用,往往存在多个进程提供同一服务.这些进程有可能在相同的机器上,也有可能分布在不同的机器上. 如果这些进程共享了一些资源,可能就需要分布式锁来锁定对这些资源的访问. 二.实现分 ...
- windows cmd命令大全/cmd命令提示符大全
刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...
- shell、cmd、dos和脚本语言杂谈(转)
问题一:DOS与windows中cmd区别 在windows系统中,“开始-运行-cmd”可以打开“cmd.exe”,进行命令行操作. 操作系统可以分成核心(kernel)和Shell(外壳)两部 ...
- lua常用操作
1 .Lua生成随机数: Lua 生成随机数需要用到两个函数:math.randomseed(xx), math.random([n [, m]]) 1. math.randomseed(n) 接收一 ...
- 动态调整UITableViewCell高度的实现方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPa ...