全球数字财富领导者

Filecoin存储提供者工具:使用nginx保护booster-http

2023-05-30 08:51:01
金色财经
金色财经
关注
0
0
获赞
粉丝
喜欢 0 0收藏举报
— 分享 —
摘要:Filecoin存储提供者工具:使用nginx保护booster-http

图片

作为存储提供者,通过http安全提供Filecoin检索。下文是关于如何使用nginx工具保护booster-http的示例。

通过HTTP提供文件服务让存储提供者可以使用与HTTP服务器交互的工具生态系统。例如,通过nginx,存储提供者(SP)可以限制某用户下载文件、每秒请求数量以及每个用户端每秒可以使用的下载带宽。

0qg0M16F5knnDBE9V3l9yRUXK79nCt2eLM9O3RDf.jpeg

默认情况下,nginx将配置文件放入/etc/nginx中

默认配置文件是/etc/nginx/sites-available/default

IPFS网关提供来自/ipfs/的文件,因此为/ipfs/的位置添加一个服务器区块。nginx服务器将听取7575端口,并将请求转发至7777端口的booster-http:

图片

访问限制

使用标准的.htaccess文件限制对IPFS网关的访问,我们需要设置一个带有用户名和密码的.htaccess文件,创建一个名为alice的用户:

图片

包含`/etc/nginx/sites-available/default中的.htaccess文件:

图片

现在,当我们打开路径/ipfs路径下的任何URL时,我们将看到一个登录对话框:

图片

速率限制

为了防止用户每秒发出过多请求,需要添加速率限制。

首先在/etc/nginx/ipfs-gateway.conf.d/ipfs-gateway.conf中创建一个限速配置文件。在文件中添加一个请求区限制,即每个用户IP每秒1个请求:

limit_req_zone $binary_remote_addr zone=client_ip_10rs:1m rate=1r/s;

包含/etc/nginx/sites-available/default`中的`ipfs-gateway.conf,并将过多请求的响应设置为HTTP response code 429:

图片

现在,如果您在浏览器中对/ipfs下任意路径点击刷新按钮超过一次,将会看到一个429错误页面:

图片

 

带宽限制

我们可能会想限制用户从booster-http下载数据时占用的带宽。请学习如何设置带宽限制,为每个用户端设置不同的速率。

创建一个名为bob的新`.htaccess`用户:

图片

在/etc/nginx/ipfs-gateway.conf.d/ipfs-gateway.conf`中添加从.htaccess用户名到带宽限制的映射:

图片

在/etc/nginx/sites-available/default添加带宽限制:

图片

展示带宽限制最简单的方法是通过CURL先用用户alice下载文件,再用用户bob下载文件:

图片

注意平均Dload列(平均下载速度)的差异。

在本文中,我们仅对nginx设置访问限制、速率限制和带宽限制的方法进行了简单介绍,特别是可以通过请求令牌或使用JWT令牌来添加限制。本文示例改编自Deploying NGINX as an API Gateway(http://nginx.com/blog/deploying-nginx-plus-as-an-api-gateway-part-1),点击链接会有更详细的内容。

开始之前,请确保更新至Boost最新版本v1.7.2(https://github.com/filecoin-project/boost/releases/tag/v1.7.2)并尝试新booster-http功能。您可以参考这篇博文中的示例,或者Boost文档中的http检索(https://boost.filecoin.io/http-retrieval)。

来源:金色财经

敬告读者:本文为转载发布,不代表本网站赞同其观点和对其真实性负责。FX168财经仅提供信息发布平台,文章或有细微删改。
go