Nginx配置防盗链

目录

基础环境

安装Nginx服务器

配置防盗链

配置防盗链


基础环境

操作系统配置主机名IP地址
CentOS 7.9 最小化安装2C4Gbogon192.168.86.132
CentOS 7.9 桌面版2C4Glocalhost192.168.86.128

素材

        nginx版本:nginx-1.12.0.tar.gz

        依赖包:pcre-devel、zlib-devel

        图片:logo_jpg.jpg

                   error.png

系统联网

# 在网卡配置文件中修改为DHCP模式,让其自动获取IP地址
[root@test01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
# ping百度网站看能否联通
[root@test01 ~]# pingbaidu.com

查看安全机制和防火墙是否关闭

# 用systemctl这个命令查看防火墙是否关闭
[root@test01 ~]# systemctl status firewalld
# 用getenforce命令查看安全机制是否关闭,回显是disabled则表示关闭
[root@test01 ~]# getenforce

安装Nginx服务器

        使用yum安装编译环境及相关依赖包

[root@bogon ~]# yum -y install pcre-devel zlib-devel gcc gcc-*

        创建运行用户和组

[root@bogon ~]# useradd -M -s /sbin/nologin nginx    

        解包、配置、编译安装

[root@bogon ~]# tar zxf nginx-1.12.0.tar.gz -C /usr/src/
[root@bogon ~]# cd /usr/src/nginx-1.12.0/
[root@bogon nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
# --prefix=/usr/local/nginx: 指定了 Nginx 的安装目录。安装完成后,Nginx 的二进制文件、配置文件和其他相关文件将被放置在这个目录下。
# --user=nginx: 指定了运行 Nginx 进程的用户的名称。在这个例子中,Nginx 将使用 nginx 用户来运行其工作进程。确保该用户已经在您的系统上创建。
# --group=nginx: 这指定了运行 Nginx 进程的组的名称。在这个例子中,Nginx 将使用 nginx 组来运行其工作进程。同样,确保该组已经在您的系统上创建。
# --with-http_stub_status_module: 这启用了 Nginx 的一个模块,该模块提供了一个简单的状态接口,用于监控基本的 Nginx 状态信息。
[root@bogon nginx-1.12.0]# make && make install

        优化路径

[root@bogon nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

配置防盗链

        模拟盗链

                在/etc/hosts文件内写入

[root@bogon nginx-1.12.0]# vi /etc/hosts
    192.168.86.138    www.kc01.com
    192.168.86.138    www.kc02.com

                在同一台物理主机中设置两台虚拟主机一台模仿盗链主机一台模仿盗链主机

[root@bogon nginx-1.12.0]# vi /usr/local/nginx/conf/nginx.conf
    server {
        liten           80;
        server_name     www.bt01.com;
        location / {
                root    html/bt01;
                index   index.html index.htm;
        }
    }

    server {
        liten           80;
        server_name     www.bt02.com;
        location / {
                root    html/bt02;
                index   index.html index.htm;
        }
    }

                创建网站的根目录

[root@bogon nginx-1.12.0]# mkdir /usr/local/nginx/html/bt01
[root@bogon nginx-1.12.0]# mkdir /usr/local/nginx/html/bt02

                把图片放到kc01的根目录下

[root@192 nginx-1.12.0]# cd
[root@192 ~]# ls
anaconda-ks.cfg  error.png  logo_jpg.jpg  nginx-1.12.0.tar.gz

                重载服务

[root@bogon ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@bogon ~]# nginx -s reload

                在桌面版的Linux系统中访问bt01

                在kc02的根目录下写盗链的文件

[root@bogon ~]# vi /usr/local/nginx/html/kc02/index.html
<html><body><h1>hello</h1>
<img src="http://www.bt01.com/logo_jpg.jpg"/>
</body></html>

                重载服务

[root@bogon ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@bogon ~]# nginx -s reload

                在桌面版的Linux系统中访问bt02就会看到bt02的主页有着bt01的图片

配置防盗链

        打开主配置文件在主配置文件中的bt01段添加

[root@bogon ~]# vi /usr/local/nginx/conf/nginx.conf
server {
    listen          80;
    server_name     www.bt01.com;
    location / {
            root    html/bt01;
            index   index.html index.htm;
    }
    location ~* \.(gif|jpg|jpep)$ {            # 在bt01中添加
            valid_referers *.bt01.com;
            if ($invalid_referer) {
            rewrite ^/ http://www.bt01.com/error.png;
            }
    }
}

        重载服务

[root@bogon ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@bogon ~]# nginx -s reload

        在浏览器中访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值