nginx最新配置(配置nginx 重定向到系统维护页面)
nginx最新配置
配置nginx 重定向到系统维护页面上周末兄弟项目准备扩展服务器以便提供更好的服务,兄弟项目有一些功能是实时提供到我这边的,需要我这边暂时把对应系统功能屏蔽,因为使用nginx,所以可以直接配置nginx重定向到固定系统维护页面。
nginx重定向其实很简单,用return或rewrite关键字均可,因为重定向后直接跳转到静态页面,不需要后续操作和记录,所以直接301永久重定向。
其中重定向既可以在server中配置,也可以在具体的location中配置,下面分别简单介绍。
在server中配置:
http { server{ listen 80; server_name A.com; # 以下return 或 rewrite 选择其中一个就行。其中upgrade.html 是自己写的提示页面 return 301 http://B.com/upgrade.html; # rewrite ^/(.*)$ http://B.com/upgrade.html permanent; location / { # 此处省略后面配置内容 } } }
或者在location中配置:
http { server{ listen 80; server_name A.com; location / { rewrite ^/(.*)$ http://B.com/upgrade.html permanent; # 此处省略后面配置内容 } } }
从以上实例看出,return用301参数重定向,rewrite用permanent(当然还可以用break,last,区别的话自己查资料)。
不知道你们有没有发现,以上两个例子中,都是用 A.com去重定向到 B.com ,我试过,用A.com直接重定向到A.com/upgrade.html,会报错重复次数太多,也就是进入死循环。在同时管理多个域名是可以配置用A重定向B,但是如果只有一个域名A那怎么弄呢?
这时候就用到if条件判断了,此处我们以在server中配置为例说明:
http { server{ listen 80; server_name A.com; # 注意 if 后面必须有一个空格!!! if ($request_uri !~ "/upgrade.html$") { return 301 http://A.com/upgrade.html; } location / { # 此处省略后面配置内容 } } }
以上实例说明,当访问路径不包含 /upgrade.html时就重定向到upgrade.html,此时能够重定向,不会再有重复次数太多的提示,但有另一个问题,就是upgrade.html中的图片无法显示了,暂时没时间去研究如何避免图片被重定向了,后面有时间再补充。
测试if条件的时候,遇到一个特别坑的事,就是添加if后重启nginx报错:
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
输入systemctl status nginx.service可查看错误信息,其中nginx: [emerg] unknown directive "if($request_uri"错误查找到答案,原来是if后面必须要有一个空格!!!!,太坑了,网上那些介绍nginxif的文章都没有提到这么重要的信息。。。
感谢资料:
if后必须有空格:https://blog.csdn.net/palet/article/details/103394236
nginx中return和rewrite:https://blog.csdn.net/u010982507/article/details/104025717
知识点补充
配置nginx输入任何地址都跳转至维护页面
笔记一下:配置nginx输入任何地址都跳转至维护页面
server { listen 80; root /xxx/xxx/src; index index.html index.htm; server_name test.xxx.com; set $flag 0; if ($request_uri !~ "(/static/.*)$"){ set $flag "${flag}1"; } if ($request_uri !~ "/502.html$" ){ set $flag "${flag}2"; } if ($flag = "012") { rewrite ^(.*) http://test.xxx.com/502.html permanent; } location /{ ...
以上就是nginx 重定向到系统维护页面的详细内容,更多关于nginx重定向维护页面的资料请关注开心学习网其它相关文章!
- nginx 反向代理详细配置(nginx反向代理配置去除前缀案例教程)
- nginx 可以部署java吗(Java-利用Nginx负载均衡实现Web服务器)
- nginx做图片服务器代理(使用nginx动态转换图片大小生成缩略图)
- nginx和lua哪个好(nginx+lua单机上万并发的实现)
- nginx宝塔配置(宝塔面板安装云锁Nginx自编译web防护教程绝对有效)
- nginx配置访问接口(nginx网站服务如何配置防盗链推荐)
- nginx对静态文件开启缓存(nginx proxy_cache 缓存配置详解)
- nginx配置使用环境变量(关于Nginx开启gzip的配置的问题)
- linux安装nginx启动页面访问不到(apache,nginx上传目录无执行权限的设置方法)
- nginx反向代码解决跨域访问(nginx 解决跨域问题嵌入第三方页面)
- nginx跳转规则配置上下文(基于nginx实现上游服务器动态自动上下线无需reload的实现方法)
- 服务器启动nginx服务的命令(Nginx服务器添加Systemd自定义服务过程解析)
- vue项目部署到服务器的nginx(Nginx部署vue项目和配置代理的问题解析)
- nginx反向代理流程详解(本地通过nginx配置反向代理的全过程记录)
- nginxhttp转https原理(nginx如何将http访问的网站改成https访问)
- nginx proxypass配置(nginx location中多个if里面proxy_pass的方法)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
热门推荐
- python3 代码解读(Python3列表内置方法大全及示例代码小结)
- 完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)
- mongodb group分组
- php表单上传文件功能(PHP单文件上传原理及上传函数的封装操作示例)
- dockergitlab服务器搭建(基于Docker部署GitLab环境搭建的方法步骤)
- php 模拟登录验证码demo(PHP 模拟登陆功能实例详解)
- react hooks详解(React Hooks使用常见的坑)
- js中Attribute和Property区别
- sqlserver数据库的对象有哪些(详解SQL Server数据库架构和对象、定义数据完整性)
- apache域名绑定(Apache配置独立域名的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9