Centos配置防盗链,及图片不显示的问题

------------LNMP-------------Nginx-----------------(第一种,LNMP显示错误图片error.jpeg)

      index.html               index.html                       conf

     smallcar.png            smallcar.png                   gif,png,bmp,swf

     errormeinv.png        errormeinv.png                error.jpeg

Nginx(源主机)192.168.1.101,www.test.com

安装Nginx,设置网站的目录在 /var/www/html/testcom下

[root@host101 ~]# cat /var/www/html/testcom/index.html

源主机

[root@host101 ~]# ls /var/www/html/testcom/

error.jpg   errormeinv.png   error.png   index.html   smallcar.png

[root@host101 ~]#vim /usr/local/nginx/conf/nginx.conf


user  nginx nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
	use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  www.test.com;
	#listen       80;
        #server_name  www.test.com;
        charset utf-8;
        access_log  logs/www.test.log  main;

        location / {
            root   /var/www/html/testcom;
            index  index.php index.html index.htm;
	}

	location ~\.php$ {
	proxy_pass http://192.168.1.101:80;
	}
    #下面的段为注释段A段
    # location ~\.(gif|jpg|jpeg|bmp|png|swf){
    # root /var/www/html/testcom;
    # }
    location ~* \.(gif|bmp|png|swf)$ {
    #下面的行为B行
        root /var/www/html/testcom; //有这行,本机能被正常解析,否则解析失败显示X
        valid_referers none blocked *.test.com test.com;
        if ($invalid_referer){
            rewrite ^/ http://www.test.com/error.jpeg;
            #return 403;
        }
    }
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
  }
}

LNMP(盗链机)192.168.1.100,www.amber.com

搭建LNMP,将Nginx的网站的目录在/www.amber.com下

cat /www.amber.com/index.html

盗链

本地测试:

在C:\Windows\System32\drivers\etc下的hosts文件中添加IP地址和域名

如:

192.168.1.101   www.test.com

192.168.1.100  www.amber,com

本地通过域名进行访问“ A” 这个注释“B”这个不注释

Nginx:www.test.com

//访问的为Nginx服务器中的内容。

LNMP:www.amber,com

//访问的两张图片的因为被Nginx服务器主机过滤掉了,显示两张error.jpeg;

Centos配置防盗链,及图片不显示的问题_第1张图片

你可能感兴趣的:(Linux)