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下
[[email protected] ~]# cat /var/www/html/testcom/index.html
<h1>源主機</h1> <img src="smallcar.png"/> <img src="errormeinv.png"/>
[[email protected] ~]# ls /var/www/html/testcom/
error.jpg errormeinv.png error.png index.html smallcar.png
[[email protected] ~]#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
<h1>盜鏈</h1>
<img src="http://www.test.com/smallcar.png"/>
<img src="http://www.test.com/errormeinv.png"/>
本地測試:
在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;