本篇内容主要讲解“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。