如何利用nginx通过正则拦截指定url请求详解

 更新时间:2020年05月17日 08:39:40   作者:梦回故里  
这篇文章主要介绍了如何利用nginx通过正则拦截指定url请求的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

nginx服务器

nginx是非常出色web服务器,对于静态文件的处理非常高效,同时它的代理转发功能和其它后台服务器搭配起来也非常的简单高效。

location

我们知道nginx会对请求进行解析,然后回得到关于请求的url等信息,我们只需要对url进行匹配,然后拦截即可。

匹配规则

location / {
  if ($request_uri ~* ^/\?http(.*)$) {
         return 404;
     }
  }

经过这样的匹配,我们就可以拦截所有请求根目录的网址并且参数为?httpxxx类似的请求都会显示404.

防盗链

返回http代码,例如设置nginx防盗链:

location ~* \.(gif|jpg|png|swf|flv)$ {
  valid_referers none blocked www.80shihua.com www.menghuiguli.com;
  if ($invalid_referer) {
    return 404;
  }
}

nginx常用变量

nginx解析出很多我们常用的变量,我们只需要拿过来使用即可,下面就是nginx常用的变量。具体使用方法,可以参考官方文档。

$content_length

$content_type

$cookie_

$date_gmt

$date_local

$document_root

$document_uri

$fastcgi_path_info

$fastcgi_script_name

$gzip_ratio

$host

$hostname (ngx_http_core_module)

$hostname (ngx_stream_core_module)

$http2

$http_

$protocol

$proxy_host

$proxy_port

$query_string

$realpath_root

$request

$request_body

$request_uri

$scheme

$server_name

$uri

总结

到此这篇关于如何利用nginx通过正则拦截指定url请求的文章就介绍到这了,更多相关nginx通过正则拦截指定url请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解nginx 代理多个服务器(多个server方式)

    详解nginx 代理多个服务器(多个server方式)

    本篇文章主要介绍了详解nginx 代理多个服务器(多个server方式),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • nginx 配置特定IP访问的实现

    nginx 配置特定IP访问的实现

    本文主要介绍了nginx 配置特定IP访问的实现,通过合理设置Nginx的配置文件,管理员可以根据实际需求,灵活地控制对网站资源的访问,提高网站的安全性,感兴趣的可以了解一下
    2024-01-01
  • nginx反向代理失效前端无法获取后端的数据解决办法

    nginx反向代理失效前端无法获取后端的数据解决办法

    Nginx服务器的反向代理服务是其最常用的重要功能,由反向代理服务也可以衍生出很多与此相关的Nginx服务器重要功能,下面这篇文章主要给大家介绍了关于nginx反向代理失效前端无法获取后端的数据解决的相关资料,需要的朋友可以参考下
    2023-12-12
  • nginx禁止某个IP访问站点的设置方法

    nginx禁止某个IP访问站点的设置方法

    近期发现博客遭到某些人的恶意灌水,频繁地利用发帖机器人发表评论,给博客的管理带来诸多不便,搜索了一下资料,可以利用nginx的ngx_http_access_module 模块设置允许/禁止哪些ip或ip段访问站点。
    2010-12-12
  • nginx: [emerg] unknown directive报错误的问题

    nginx: [emerg] unknown directive报错误的问题

    本文主要介绍了nginx: [emerg] unknown directive报错误的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Nginx中报错:Permission denied与Connection refused的解决

    Nginx中报错:Permission denied与Connection refused的解决

    这篇文章主要给大家介绍了在Nginx中报错:13: Permission denied与111: Connection refused的解决方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Nginx反向代理后无法获取客户端真实IP地址

    Nginx反向代理后无法获取客户端真实IP地址

    本文主要介绍了Nginx反向代理后无法获取客户端真实IP地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 使用Nginx实现灰度发布的使用

    使用Nginx实现灰度发布的使用

    这篇文章主要介绍了使用Nginx实现灰度发布的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 利用njs模块在nginx配置中引入js脚本

    利用njs模块在nginx配置中引入js脚本

    这篇文章主要给大家介绍了关于利用njs模块在nginx配置中引入js脚本的相关资料,通过这个脚本实现一些更复杂的 nginx 配置功能,需要的朋友可以参考下
    2021-12-12
  • 利用nginx解决跨域问题的方法(以flask为例)

    利用nginx解决跨域问题的方法(以flask为例)

    这篇文章主要介绍了利用nginx解决跨域问题的方法,文中以flask为例给大家介绍的很详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02

最新评论