如何将IPFS守护程序转换为公共网关?

时间:2017-04-02 05:55:00

标签: nginx dns a-records ipfs

我所以我在ubuntu VPS上运行了一个IPFS守护程序,据说它正在监听......

API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

我还为 ipfs.domain.com 设置了DNS记录,以指向服务器的IP地址。我还将 ipfs.domain.com 的DNS TXT记录添加为...

dnslink=/ipns/QmeQe5FTgMs8PNspzTQ3LRz1iMhdq9K34TQnsCP1jqt8wV

所以我的第一个问题是如何将 ipfs.domain.com 链接到 /ip4/127.0.0.1/tcp/8080

我的第二个问题是,如果服务器出于某种原因离线/无法访问,有什么方法可以让某些人回到其他网关?

我的第三个问题是如何指定缓存规则,因此图片可以在未来至少1周内缓存,并且网站可以获得变化:Accept-Encoding标头

2 个答案:

答案 0 :(得分:2)

尝试让网关收听0.0.0.0而不是127.0.0.1,否则它不会接受来自本地计算机的连接。

之后,您的DNS配置应该很好。

dnslink专门用于链接到IPFS网络中托管的内容(因此在您的情况下不适用)。您无法链接到您的节点,但您可以在节点ID下发布内容。有关其如何运作的更多信息:https://github.com/ipfs/examples/tree/master/examples/websites

关于缓存,不需要指定应该缓存内容的时间量,因为它全部是不可变的并且永远不会改变。一旦请求,您的节点将保持它直到垃圾收集运行,然后除了固定的东西之外的所有内容将被删除,并且必须从网络重新获取。

答案 1 :(得分:1)

确保守护程序正在主机0.0.0.0上运行,您可以使用ipfs config对其进行配置:

sudo ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
sudo ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/9001

要将域映射到网关,可以使用负载平衡器,例如nginx。