该指令一般用于对请求的客户端直接返回响应状态码。在该作用域内return后面的所有nginx配置都是无效的。 可以使用在server、location以及if配置中。 除了支持跟状态码,还可以跟字符串或者url链接。

直接返回状态码:

示例1:
server{
listen ;
server_name www.aming.com;
return ;
rewrite /(.*) /abc/$; //该行配置不会被执行。
} 示例2:
server {
..... if ($request_uri ~ "\.htpasswd|\.bak")
{
return ;
rewrite /(.*) /aaa.txt; //该行配置不会被执行。
}
//如果下面还有其他配置,会被执行。
.....
}

返回字符串:

示例3:
server{
listen ;
server_name www.aming.com;
return "hello";
}
说明:如果要想返回字符串,必须要加上状态码,否则会报错。
还可以支持json数据 示例4:
location ^~ /aming {
default_type application/json ;
return '{"name":"aming","id":"100"}';
} 也支持写一个变量 示例5:
location /test {
return "$host $request_uri";
}

返回URL :

示例6:
server{
listen ;
server_name www.aming.com;
return http://www.aminglinux.com/123.html;
rewrite /(.*) /abc/$; //该行配置不会被执行。
}
注意:return后面的url必须是以http://或者https://开头的。

实战示例:

背景:网站被黑了,凡是在百度点击到本网站的请求,全部都跳转到了一个赌博网站。
通过nginx解决:
if ($http_referer ~ 'baidu.com')
{
return "<html><script>window.location.href='//$host$request_uri';</script></html>";
} 如果写成:
return http://$host$request_uri; 在浏览器中会提示“重定向的次数过多”,因为会被反复跳转。

nginx return配置说明的更多相关文章

  1. Nginx return 关键字配置小技巧

    Nginx的return关键字属于HttpRewriteModule模块: 语法:return http状态码 默认值:无 上下文:server,location,if 该指令将结束执行直接返回htt ...

  2. 170816、nginx常用配置说明

    #user nobody; #开启进程数 <=CPU数  worker_processes 1; #错误日志保存位置 #error_log logs/error.log; #error_log ...

  3. Nginx ServerName 配置说明(转)

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: s ...

  4. Nginx ServerName 配置说明

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了.下面我就来说说server_name的使用吧:ser ...

  5. nginx if配置说明

    格式:if (条件判断) { 具体的rewrite规则 } 条件举例: 条件判断语句由Nginx内置变量.逻辑判断符号和目标字符串三部分组成. 其中,内置变量是Nginx固定的非自定义的变量,如,$r ...

  6. nginx相关配置说明

    基础: nginx配置文件主要分为六个区域:main section.events section.http section.sever section. location section.upstr ...

  7. nginx 常用配置说明

    一.location 配置 1.1 语法规则: location [=|~|~*|^~] /uri/ { … }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可 ...

  8. Nginx完整配置说明

    http://blog.csdn.net/marising/article/details/3979493 可以参考如下的完整例子 http://wiki.codemongers.com/NginxF ...

  9. nginx的配置说明

    #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...

随机推荐

  1. Options of the DB storage of prometheus

    参考: // Options of the DB storage. type Options struct { // The timestamp range of head blocks after ...

  2. vue项目的一个package.json

    {   "name": "projectName",   "version": "1.0.1",   "des ...

  3. 数据库-如何创建SQL Server身份验证用户

    1.简介 默认安装SQL Server数据库后,SQL Server通过工具SQL Server Management Studio(SSMS)采用“Windows身份验证”方式登录,需要设置相应用户 ...

  4. 剑指前端(前端入门笔记系列)——Math对象

    Math对象 ECMAScript将一些常用的数学公式和信息封装到了一个对象中——Math对象,为我们实现数学方面的计算功能提供了便捷,而且该对象还提供了辅助完成这些计算的属性和方法   属性 con ...

  5. java 之 集合概述

    一.集合概述 不管是哪一种数据结构,其实本质上都是容器来着,就是用来装对象的.因此,我们就要搞清楚两点:(1)如何存储(2)存储特点 1.集合 集合是 Java 中提供的一种容器,可以用来存储多个数据 ...

  6. windows 2003 域控服务器导出全部hash的方法

    天下文章一大抄,我也是醉了... 一份“错误”的文章一遍又一遍的被转载,盲目转载,根本不细看.只会误导新手. 谈下windows2003域控下如何导出全部的hash信息. 1. 使用备份还原向导 2. ...

  7. linux基础命令学习

    一 su命令 1. [yunwei@elymedia ~]$ yunwei   表示当前用户名 @elymedia   表示主机名 - 表示当前路径,涉及到当前用户的主目录(家目录) $  表示普通用 ...

  8. java中的强引用、软引用、弱引用、虚引用

    1.强引用(Strong Reference):指程序代码中普遍存在的,类似“Object obj = new Object()”这类的引用,只要对象存在强引用关联,JVM必定不会回收这个对象: 2. ...

  9. Django 之 restframework 频率组件的使用

    Django 之 restframework 频率组件的使用以及源码分析 频率组件的使用 第一步,先写一个频率类,继承SimpleRateThrottle 一定要在这个类里面配置一个scop='字符串 ...

  10. 【Linux】Linux下安装RabbitMQ服务

    一.安装步骤 1)安装erlang yum install -y erlang2)安装rabbitmq-serveryum install -y rabbitmq-server3)开启rabbitmq ...