網站老被采集,Nginx怎么配置防盜鏈(圖文)
實驗環境
•一臺最小化安裝的CentOS 7.3虛擬機
•配置:1核心/512MB
•nginx版本1.12.2
一、配置盜鏈網站
1.啟動一臺nginx虛擬機,配置兩個網站
vim /etc/nginx/conf.d/vhosts.conf |
添加以下內容
- server {
- listen 80;
- server_name site1.test.com;
- root /var/wwwroot/site1;
- index index.html;
- location / {
- }
- }
- server {
- listen 80;
- server_name site2.test.com;
- root /var/wwwroot/site2;
- index index.html;
- location / {
- }
- }
2.在宿主機編輯C:\Windows\System32\drivers\etc\hosts文件
192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
3.創建網站根目錄
- mkdir /var/wwwroot
- cd /var/wwwroot
- mkdir site1
- mkdir site2
- echo -e "<h1>site1</h1><img src='1.jpg'>" >> site1/index.html
- echo -e "<h1>site2</h1><img src='http://site1.test.com/1.jpg'>" >> site2/index.html
4.將1.jpg上傳到/var/wwwroot/site1目錄
5.啟動nginx服務
- systemctl restart nginx
- netstat -anpt | grep nginx
6.防火墻放通80端口
|
7.在宿主機訪問
http://site1.test.com
http://site2.test.com
二、配置site1.test.com防盜鏈1.編輯nginx配置文件
- server {
- listen 80;
- server_name site1.test.com;
- root /var/wwwroot/site1;
- index index.html;
- location / {
- }
- location ~ \.(jpg|png|gif|jpeg)$ {
- valid_referers site1.test.com;
- if ($invalid_referer) {
- return 403;
- }
- }
- }
- server {
- listen 80;
- server_name site2.test.com;
- root /var/wwwroot/site2;
- index index.html;
- location / {
- }
- }
2.重啟nginx服務
systemctl restart nginx |
3.在宿主機訪問
清除瀏覽器緩存,訪問http://site1.test.com
清除瀏覽器緩存,訪問http://site2.test.com
可見,防盜鏈配置起到了作用
三、配置防盜鏈返回其他資源
1.編輯nginx配置文件增加一個虛擬主機,對防盜鏈保護的資源進行重寫
- server {
- listen 80;
- server_name site1.test.com;
- root /var/wwwroot/site1;
- index index.html;
- location / {
- }
- location ~ \.(jpg|png|gif|jpeg)$ {
- valid_referers site1.test.com;
- if ($invalid_referer) {
- rewrite ^/ http://site3.test.com/notfound.jpg;
- #return 403;
- }
- }
- }
- server {
- listen 80;
- server_name site2.test.com;
- root /var/wwwroot/site2;
- index index.html;
- location / {
- }
- }
- server {
- listen 80;
- server_name site3.test.com;
- root /var/wwwroot/site3;
- index index.html;
- location / {
- }
- }
解釋
location ~ \.(jpg|png|gif|jpeg)$ {}為設置防盜鏈的文件類型,使用豎線|分隔。
valid_referers site1.test.com *.nginx.org;為白名單,使用空格分隔,可以使用*進行泛域名設置。
if ($invalid_referer) {}為判斷是否符合白名單,不符合白名單將執行{}內的內容。
rewrite ^/ http://site3.test.com/notfound.jpg;為重寫資源,如果不合符白名單,則重寫為該地址。
return 403;代表返回的狀態碼為403。
2.建立site3根目錄
|
3.上傳notfound.jpg文件至/var/wwwroot/site3目錄
4.重啟nginx服務
systemctl restart nginx |
5.在宿主機編輯C:\Windows\System32\drivers\etc\hosts文件
增加對site3.test.com的映射
192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
192.168.204.11 site3.test.com
6.在宿主機訪問http://site2.test.com
可以看到,在site2中盜用的site1的1.jpg文件,被重定向到了site3上的notfound.jpg文件
總結
以上所述是小編給大家介紹的配置Nginx的防盜鏈的操作方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對云狐網站的支持!
- 上一篇
nginx配置ssl實現https的方法示例(圖文)
環境說明服務器系統:Ubuntu 18.04 64位 nginx:1.14這篇文章主要是記錄配置 https 的步驟,就不介紹申請ca證書的相關細節了這里有免費的 ssl 證書:https://cloud.tencent.com/act/pro/ssl我是西部數碼的域名,在騰訊云申請
- 下一篇
Nginx圖片防盜鏈配置實例(圖文)
做運維的朋友經常會有一些煩惱,比如網站總是被人抄襲,比如網站總是被人引用上面的圖片,雖然一張圖兩張圖,并不耗費很多流量,但一旦引用的人多了,這個還是比較廢流量的。防盜鏈就是禁止其他網站引用自己網站資源而做的一系列
更多相關
相關文章
- linux的目錄結構;Linux系統各個目錄的作用介紹
- mssql2000數據庫通過附加數據庫轉到SQL2008(圖文)
- Win2012配置asp網站(圖文教程)
- win2008 r2系統iis7中如何設置ip限制(圖文)
- IIS7 支持html頁面包含(include)html頁面 IIS設置與代碼編寫
- Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+phpMyAdmin 2.10.1環境配置安裝
- 網站采集入庫502 Bad Gateway錯誤時,修改PHP 配置修改參考
- 出錯了,[騰訊云COSFS]運行時發生錯誤!qcloud_cos.cos_exception.CosClientError: SecretId and SecretKey is Required!
- 騰訊Linux云主機快速掛載云盤命令,設置開機自動掛載詳細圖文教程
- 騰訊輕量云主機win2012系統掛載SSD云硬盤操作步驟(圖文)