CentOS7.3下Nginx防盗链配置教程

5星 · 超过95%的资源 1 下载量 178 浏览量 更新于2024-08-30 收藏 672KB PDF 举报
"该资源主要介绍了如何在Nginx服务器上配置防盗链功能,通过一个实际的实验环境,包括两台CentOS 7.3的虚拟机,分别配置了site1.test.com和site2.test.com两个网站。实验步骤涵盖了从编辑Nginx配置文件到防火墙设置以及验证防盗链效果的全过程。" 在Nginx中配置防盗链(防跨站引用)主要是为了保护网站的静态资源不被其他网站非法引用,避免流量损失和版权问题。下面我们将详细探讨这个过程: 一、实验环境搭建 1. 使用最小化安装的CentOS 7.3虚拟机,配置1核心和512MB内存,Nginx版本为1.12.2。 2. 使用`vim /etc/nginx/conf.d/vhosts.conf`编辑配置文件,添加两个server块,分别定义site1.test.com和site2.test.com的监听、域名、根目录和默认首页。 二、配置网站 1. 在宿主机的`hosts`文件中添加虚拟域名解析,指向虚拟机的IP地址。 2. 创建网站根目录`/var/wwwroot`并分别创建site1和site2目录,然后在site1目录下放置一个`1.jpg`图片,并在两个站点的首页中引用该图片。 三、启动与测试 1. 启动Nginx服务,并检查服务状态。 2. 通过修改防火墙规则允许80端口通信。 3. 在宿主机上访问两个站点,确认可以正常显示页面和图片。 四、配置防盗链 1. 对site1.test.com进行防盗链配置,编辑其Nginx配置,在`location /`块内添加防盗链规则。常见的防盗链配置是使用`valid_referers`指令,例如: ```nginx location / { valid_referers none blocked site2.test.com; if ($invalid_referer) { return 403; } } ``` 2. 上述配置表示仅允许来自site2.test.com和直接访问(无引荐者)的请求访问site1.test.com的资源,其他引荐者将返回403 Forbidden错误。 五、验证防盗链效果 1. 重启Nginx服务使配置生效。 2. 重新访问site1.test.com和site2.test.com,site2中的图片引用如果被禁止,将无法显示,验证防盗链配置成功。 通过以上步骤,我们成功地在Nginx服务器上实现了防盗链功能,保护了site1.test.com的静态资源不被site2.test.com或其他未经授权的站点引用。在实际应用中,可以根据需要调整`valid_referers`指令,允许或拒绝更多引荐者。