博客
关于我
Nginx屏蔽或禁止指定来源网站访问
阅读量:584 次
发布时间:2019-03-11

本文共 877 字,大约阅读时间需要 2 分钟。

在Nginx配置文件的server块中加入相应的内容可有效地实现不同场景下的访问控制。以下是一些常见的配置示例和应用场景。

1. 基于HTTPReferer限制访问

如果希望限制仅从特定域名(如xxx.com)传输的请求访问服务器,可以在Nginx配置中添加如下的逻辑:

if ($http_referer ~* "xxx.com") {    return 403;}

当客户端请求网址的HTTPReferer头字段明确指向xxx.com时,服务器将返回403 Forbidden错误提示,阻止未经授权的访问。这种方式适用于需要对外部引用的一些敏感资源进行宏观控制。

2. 利用重写实现跳转

如果需要当HTTPReferer来自xxx.com时将用户重定向至特定网站,可以通过Nginx的重写机制来实现。以下是具体的配置示例:

if ($http_referer ~* "xxx.com") {    rewrite ^/ http://www.xxx.com/;}

此处,rewrite指令可用于将URL重写到目标网址。需要注意的是,^/表示匹配请求路径的开头,即任何以/开头的路径都会被重写。因此,这种方法需要谨慎应用,以确保不会重写错误的URL。

3. 多域名访问统一控制

为了统一管理多个域名下的访问行为,可以在Nginx配置中列出多个域名进行判断。以下是一个典型的实现如下:

if ($http_referer ~* "xxx.com|aaa.com") {    rewrite ^/ http://www.xxx.com/;}

与前一个示例类似,这里的HTTPReferer头字段判断逻辑也包含多个域名。当来自xxx.comaaa.com的请求被接收后,所有匹配项都会被重写到www.xxx.com。这种方法适用于需要将多个子域名或不同域名下的用户统一引导至某一主站或特定资源。

综上所述,基于HTTPReferer头字段的Nginx配置提供了一种灵活的访问控制方式,可根据实际应用场景灵活调整逻辑表达式,使服务器行为更加符合预期需求。

转载地址:http://uhxtz.baihongyu.com/

你可能感兴趣的文章
linux学习笔记(四)基本用户管理与帮助命令
查看>>
小程序:防止父方法被子方法冒泡,使用catchtap
查看>>
vue报错 created hook错误
查看>>
JS 瀑布流效果
查看>>
单选框点击文字也能选中
查看>>
此主机支持Intel VT-x,但Intel VT-x 处于禁用状态。
查看>>
06-局部变量和全局变量
查看>>
12-面向对象1
查看>>
python 进程 线程 协程(通信方式)
查看>>
python基础总结 异常处理
查看>>
【5G之道】第一章:介绍
查看>>
解决Vue源码运行错误
查看>>
HDU - 4109 Instrction Arrangement
查看>>
Lua websocket长连接
查看>>
SQL 分页查询 返回总条数
查看>>
重写的特点
查看>>
富士电机漏洞预警
查看>>
【数据库】MySQL导入文件与导出文件
查看>>
计算机网络UDP协议和TCP协议
查看>>
Linux运行C语言文件
查看>>