您好,登錄后才能下訂單哦!
這篇文章主要介紹“Nginx跨域訪問和防盜鏈如何配置”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Nginx跨域訪問和防盜鏈如何配置”文章能幫助大家解決問題。
跨域訪問控制
跨域訪問
為什么瀏覽器禁止跨域訪問
不安全,容易出現csrf攻擊!
如果黑客控制的網站b在響應頭里添加了讓客戶端去訪問網站a的惡意信息,就會出現csrf攻擊
nginx如何配置跨域訪問
add_header語法
syntax:add_header name value [always];
default:—
context:http, server, location, if in location
語法解釋:
add_header name value [always];
name 表示響應頭返回的key
value 表示響應頭返回的key對應的value
add_header跨域配置
location ~ .*\.(htm|html)$ { add_header access-control-allow-origin *; add_header access-control-allow-methods get,post,put,delete,options; root /opt/app/code; }
防盜鏈
防盜鏈目的
防止資源被盜用。
防止非正常用戶訪問,占用網站資源,影響網站性能,勢必影響正常用戶訪問
基于http_referer防盜鏈配置模塊
ngx_http_referer_module模塊用于阻止對“referer”頭字段中具有無效值的請求訪問站點。
舉例
valid_referers none blocked server_names *.example.com example.* www.example.org/galleries/ ~\.google\.; if ($invalid_referer) { return 403; }
referer_hash_bucket_size語法
syntax: referer_hash_bucket_size size;
default: referer_hash_bucket_size 64;
context: server, location
語法解釋:
referer_hash_bucket_size size;表示設置有效引用散列表的存儲區大小。
referer_hash_max_size 語法
syntax: referer_hash_max_size size;
default: referer_hash_max_size 2048;
context: server, location
語法解釋:
referer_hash_max_size size;表示設置有效引用者哈希表的最大大小。
valid_referers語法
syntax: valid_referers none | blocked | server_names | string ...;
default: —
context: server, location
語法解釋:
valid_referers none | blocked | server_names | string ...;
none表示請求標頭中缺少“referer”字段;
blocked表示“referer”字段出現在請求標頭中,但其值已被防火墻或代理服務器刪除; 這些值是不以“http://”或“https://”開頭的字符串;
server_names 表示“referer”請求頭字段包含一個服務器名稱;
string 表示定義服務器名稱和可選的uri前綴。 服務器名稱的開頭或結尾可以包含“*”。 在檢查期間,“referer”字段中的服務器端口被忽略;
防盜鏈小案例
touch test_referer.html (在 /op/app/code 目錄下)
<html> <head> <meta charset="utf-8"> <title>imooc1</title> </head> <body style="background-color:red;"><br data-filtered="filtered"> <h1>張彪</h1> <img src="http://192.168.1.112/wei.png"/> </body> </html>
配置防盜鏈如果不是從 www.zhangbiao.com 域名轉來的就會報錯
location ~ .*\.(jpg|gif|png)$ { valid_referers none blocked www.zhangbiao.com; if ($invalid_referer) { return 403; } root /opt/app/code/images; } location ~ /test_refer.html { root /opt/app/code; }
訪問
http://192.168.1.112/test_refer.html
訪問
http://www.zhangbiao.com/test_refer.html
允許其他網站訪問自己網站資源配置
關于“Nginx跨域訪問和防盜鏈如何配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。