return指令

return指令用于完成对请求的处理,直接向客户端返回响应状态代码。处于该指令后的所有Nginx配置都是无效的。

其语法结构有以下几种:

# 结构 1
return [ text ];
# 结构 2
return code URL;
# 结构 3
return URL;

其中:

  • code,为返回给客户端的HTTP状态代码

    • 可以返回的状态代码为 0 ~ 999 的任意HTTP状态代码

    • 非标准的444代码可以强制关闭服务器与客户端的连接,而不返回任何响应信息给客户端。

  • text,为返回给客户端的响应体内容,支持变量的使用。

  • URL,为返回给客户端的URL地址

使用方式说明:

  • code使用 301(表示被请求资源永久移动到新的位置)、302(表示请求的资源现在临时从不同的URL响应,要求使用GET方式请求)、303(表示对应当前请求的响应可以在另一个URL上找到,并且客户端应当采用GET方式访问那个资源)和307(请求的资源临时从不同的URL响应)代码时,可以使用结构 2】 将新的URL返回给客户端;

  • 当code使用除上面提到的其他代码时,可以使用 结构 1】 指定text向客户端发送指定的响应体内容。

  • 当返回状态代码为302307时,可以使用【结构 3】 对 URL 进行配置。返回的URL中应该包含“http://”、“https://”或者直接使用“$scheme”变量(Request Scheme,代表传输协议,Nginx内置变量)指定。

该指令可以在server块和location块以及 if 块中使用

Last updated