您好,登錄后才能下訂單哦!
本篇內容主要講解“FastDFS的安全配置介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“FastDFS的安全配置介紹”吧!
1、課程名稱:FastDFS的安全配置
2、具體內容
現在FastDFS已經配置成功,并且也可以通過java調用,但是這里面有一個問題,現在誰都可以調用傳輸,那么你的服務器就好比你赤身裸體上火星一樣。所以現在就需要針對于文件服務器的安全進行相應的配置。
2.1、鏈接白名單
鏈接有黑名單和白名單兩個概念,所謂的白名單指的是允許訪問的用戶。如果要修改白名單主要的配置項在tracker.conf文件里面:vim/etc/fdfs/tracker.conf.
allow_hosts=192.168.122.[198-202]
現在表示允許進行上傳操作的主機的為:192.168.122.198~192.168.122.202之間的IP地址。
allow_hosts=192.168.122.[190,198-202]
現在表示192.168.122.190也可以進行訪問。在之前使用的是命令行的模式完成的,那么如果說現在要使用本地程序呢?如果說現在只是配置了本地Windows的地址實際上意義不大,因為也無法訪問。需要配置一個連接的網關IP:
2.2、盜鏈防范
文件服務器一旦開啟之后實際上里面的數據就意味著所有的用戶都直接通過地址訪問了,這樣下去就會造成一個問題,別人的服務器直接引用你的圖片,造成你的服務器的容量攀升,這樣的操作必須要求禁止出現,所以就必須使用放盜鏈功能。
所謂的盜鏈指的是你生成一個隨機的token,這個token在某一段時間內有效,超過了指定的時間將出現錯誤頁面。防盜鏈的功能可以修改storage主機的配置實現。
1、【fastdfs-storage-group1-01】上傳盜鏈之后的顯示圖片;
·所有的fastdfs的配置文件的保存路徑“/etc/fdfs”,將圖片保存到此路徑之中:mv/srv/ftp/noauth.gif/etc/fdfs/·將此圖片拷貝到所有的主機:scp/etc/fdfs/noauth.gif192.168.122.200:/etc/fdfs2、【fastdfs-storage-group1-01】修改防盜鏈的配置文件:vim/etc/fdfs/http.conf;
3、【fastdfs-storage-group1-01】將此時的http.conf的配置拷貝到其它主機:
·拷貝其它主機:scp/etc/fdfs/http.conf192.168.122.200:/etc/fdfs/;4、【fastdfs-storage-*】需要重新啟動storage服務:/usr/bin/fdfs_storaged/etc/fdfs/storage.confrestart;5、【fastdfs-storage-*】所有的nginx服務必須重新啟動:/usr/local/nginx/sbin/nginx-sreload;6、【fastdfs-storage-*】所有的token失效之后需要顯示一張固定的圖片,那么這個圖片還需要進行授權處理
chmod777-R/etc/fdfs/noauth.gif
7、通過java程序生成客戶端的Token。
·前提:你當前電腦上的日期時間和你服務器上的日期時間是對等的;·修改“fdfs_client.conf”配置文件;
tracker_server=192.168.122.198:22122 http.anti_steal_token=true http.secret_key=mldnjava01051283346hahahaheihei
·編寫程序生成一個Token信息:
packagecn.mldn.demo;importorg.csource.fastdfs.ClientGlobal;importorg.csource.fastdfs.ProtoCommon;importorg.csource.fastdfs.TrackerClient;importorg.csource.fastdfs.TrackerServer;importorg.springframework.core.io.ClassPathResource;public class FDFSToken{ publicstaticvoidmain(String[]args)throwsException{ //1、讀取上傳的配置文件,此配置文件在CLASSPATH路徑下 ClassPathResourceres=newClassPathResource("fdfs_client.conf"); //2、初始化FastDFS上傳的環境 ClientGlobal.init(res.getClassLoader().getResource("fdfs_client.conf").getPath());//3、建立Tracker的客戶端連接 TrackerClienttracker=newTrackerClient(); TrackerServertrackerServer=tracker.getConnection();//取得服務器連接//定義文件id的時候千萬不要增加組名稱,否則無法訪問 String fileId="M00/00/00/wKh7yVg71i6ASCLbAAL6dz7aOB0963.jpg"; intts=(int)(System.currentTimeMillis()/1000); Stringtoken=ProtoCommon.getToken(fileId,ts,ClientGlobal.g_secret_key);StringBufferfileUrl=newStringBuffer(); fileUrl.append("http://"); fileUrl.append(trackerServer.getInetSocketAddress().getHostString()); fileUrl.append("/group2/").append(fileId); fileUrl.append("?token=").append(token).append("&ts=").append(ts); System.out.println(fileUrl); trackerServer.close(); }
如果現在生成的Token是正常的內容,那么則可以進行正常的訪問,如果token不正確,或者Token的有效時間一到,那么此時該路徑將顯示沒有授權的圖片。
到此,相信大家對“FastDFS的安全配置介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。