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

本文共 883 字,大约阅读时间需要 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/

你可能感兴趣的文章
设计模式(18)——中介者模式
查看>>
用JavaScript实现希尔排序
查看>>
error LNK2019:无法解析的外部符号_imp_CryptAcquireContextA@20
查看>>
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
查看>>
ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
查看>>
BUU-MISC-认真你就输了
查看>>
BUU-MISC-caesar
查看>>
【专题2:电子工程师 之 上位机】 之 【36.事件重载】
查看>>
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
查看>>
一文理解设计模式--命令模式(Command)
查看>>
VTK:可视化之RandomProbe
查看>>
block多队列分析 - 2. block多队列的初始化
查看>>
Java时间
查看>>
不编译只打包system或者vendor image命令
查看>>
The wxWindows Library Licence (WXwindows)
查看>>
leetcode——第203题——虚拟头结点
查看>>
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
查看>>
MySQL----基础及常用命令
查看>>
flink启动(二)
查看>>
前端开发进阶手册.pdf
查看>>