专栏首页青年夏日IPFS搭建HTTPS去中心化网站,真实可用
原创

IPFS搭建HTTPS去中心化网站,真实可用

任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX::1755337994

首先,我们需要知道IPFS是什么?

其实IPFS是一种协议,全称为Inter-Planetary File System,是一种点对点超媒体协议,旨在取代旧的HTTP,使网络更快,更安全,更开放。

我们平常都通过HTTP协议去访问一个网站,我们都知道在我们敲出一个网站后,我们实际上通过这个网址找了了服务器的IP,然后通过IP我们和服务器建立通信。而这种通信的稳定性它取决于对方服务是否可靠,万一挂了,我们肯定无法访问。同时还取决于我们的主干网络是不是通畅,如果那个地方主干网的光纤一不小心被挖断了,那可能导致某个服务就得挂一段时间了。

这也就是我们所说的HTTP趋于超中心化可能存在的隐患。而IPFS就是用来解决这些问题。IPFS让每一个人都可以成为一个服务节点,一旦你上传一个文件到IPFS,你的文件将会被存储在不同的节点,然后你会得到一个由文件内容计算出的加密哈希值。当你通过该哈希值下载你的文件时,IPFS会会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。这样,就实现了一个分布式的服务节点,既是你自己的节点挂了,你的文件依然可以正常访问。

这篇文章,我们一起通过IPFS搭建一个简单页面

安装IPFS

首先,我们需要安装IPFS。

这里找到适合你的平台的安装文件,下载。

然后解压,安装。

123

$ tar -zxvf go-ipfs_v0.4.18_darwin-amd64.tar.gz$ cd go-ipfs$ ./install.sh

查看是否安装完成。

1234

$ ipfs --helpUSAGE: ipfs - Global p2p merkle-dag filesystem.

这样,们就安装好了ipfs命令。之后,我们初始化一下。

1234567

$ ipfs initinitializing IPFS node at /Users/jin/.ipfsgenerating 2048-bit RSA keypair...donepeer identity: QmQfPXYpcKWim9yQRhbZxxrgUve5VzHJD7h4miu2oQ6Ubjto get started, enter: ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

初始化的过程中,生成了一个公私钥对,正是通过该公钥来标识我们的身份。

看看readme都写了些啥。

123456789101112131415161718192021222324252627

$ ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readmeHello and Welcome to IPFS!██╗██████╗ ███████╗███████╗██║██╔══██╗██╔════╝██╔════╝██║██████╔╝█████╗ ███████╗██║██╔═══╝ ██╔══╝ ╚════██║██║██║ ██║ ███████║╚═╝╚═╝ ╚═╝ ╚══════╝If you're seeing this, you have successfully installedIPFS and are now interfacing with the ipfs merkledag! -------------------------------------------------------| Warning: || This is alpha software. Use at your own discretion! || Much is missing or lacking polish. There are bugs. || Not yet secure. Read the security notes for more. | -------------------------------------------------------Check out some of the other files in this directory: ./about ./help ./quick-start <-- usage examples ./readme <-- this file ./security-notes

这里有一些帮助文档,你可以先了解一下。

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/quick-start就可以查看quick-start

准备一个简单的网页

接下来,我们准备一个简单的页面。

  • 文件 ipfs_file/index.html

123456789

<!DOCTYPE html><link rel="stylesheet" type="text/css" href="styles.css"><html> <body> <h1>Hello World</h1> <p> 我的IPFS</p> <a href="https://razeen.me/post/start-ipfs-gateway.html#toc_0"> Back </a> </body></html>

  • 文件 ipfs_file/styles.css

12345

body { background-color: #ccc; text-align: center; margin-top: 88px;}

启动IPFS服务

12345678910111213

$ ipfs daemonInitializing daemon...Successfully raised file descriptor limit to 2048.Swarm listening on /ip4/127.0.0.1/tcp/4001Swarm listening on /ip4/192.168.3.16/tcp/4001Swarm listening on /ip6/::1/tcp/4001Swarm listening on /p2p-circuit/ipfs/QmQfPXYpcKWim9yQRhbZxxrgUve5VzHJD7h4miu2oQ6UbjSwarm announcing /ip4/127.0.0.1/tcp/4001Swarm announcing /ip4/192.168.3.16/tcp/4001Swarm announcing /ip6/::1/tcp/4001API server listening on /ip4/127.0.0.1/tcp/5001Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080Daemon is ready

如果你查看了quick-start你应该知道,我们可以通过浏览器来查看一些UI界面,视频等。

如,通过http://localhost:5001/webui,我们可以查看我们刚刚启动的这个IPFS的一些节点情况。

我们还可以看到我们连接了多少节点以及大概分布。

当然还可以查找文件等,这里就不一一说了。

上传文件

然后我们可以通过add将文件上传。

12345

$ ipfs add -r ipfs_fileadded QmYN1vzHWT4U61R6GnnJ2H3N76DpZ4JU4xa3r8paDfDdEB ipfs_file/index.htmladded Qmea1q1nEPxCsB8y5so2ppNVuKy2kMtFCiBnngiK7A4PY3 ipfs_file/styles.cssadded QmSwtxZ5NzJ4cLEm9SX1oeAwcBYevfvb6nhYweXYNSXnNC ipfs_file 333 B / 333 B [============================================== ] 100.00

然后,我们通过IPFS网关访问https://gateway.ipfs.io/ipfs/QmSwtxZ5NzJ4cLEm9SX1oeAwcBYevfvb6nhYweXYNSXnNC/ 就可以访问刚刚的文件了。

由于防火墙的关系,这里需要用梯子才能访问到==

Cloudflare IPFS gateway

最近发现Cloudflare也推出了ipfs网关,而且我们可以将自己的域名解析到该地址,通过TXT记录来关联你的IPFS文件。

访问

首先,我们可以通过https://cloudflare-ipfs.com/ipfs/QmSwtxZ5NzJ4cLEm9SX1oeAwcBYevfvb6nhYweXYNSXnNC/ 访问刚刚上传的文件。

添加DNS记录

然后,我么在我们的DNS服务商中添加两条记录,如下。

我希望将ipfs.razeen.me指向该文件,然后我需要添加如下记录:

也就是,将ipfs.razeen.me CNAME到cloudflare-ipfs.com; 添加_dnslink.ipfsTXT值your_ipfs_hash_here 如:QmSwtxZ5NzJ4cLEm9SX1oeAwcBYevfvb6nhYweXYNSXnNC

提交

然后,在这里填上你的域名,提交即可。

之后,cloudflare会为你的域名申请一张证书,并完成转发, 整个过程可能需要10分钟左右。

当你看到Certificate is live.提示,域名配置就完成了。

访问一下,我们可以看到。

到这里我们就完成该网页配置了。一个IPFS站点就搭建完成了。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IPFS去中心化搭建CMS内容网站

    其实IPFS是一种协议,全称为Inter-Planetary File System,是一种点对点超媒体协议,旨在取代旧的HTTP,使网络更快,更安全,更开放。

    青年夏日
  • 【戴嘉乐 IFPS】利用IPFS构建自己的去中心化分布式Wiki系统

    IPFS全称InterPlanetary File System,中文名:星际文件系统,是一个旨在创建持久且分布式存储和共享文件的网络传输协议。

    圆方圆学院
  • IPFS为什么说它将取代HTTP?

    今年年初Internet Archive发布了对分布式Web方案的征集,新的Web将会变得速度更快,安全性更高,更可靠,并且更加持久。对此我们感到兴奋不已,同时...

    用户8304748
  • 区块链世界里的存储技术—IPFS

    rectinajh
  • 【戴嘉乐 IPFS】(入门)基于IPFS和Ngrok构建自维护资源网关

    由于一些特殊原因,ipfs.io网关在天朝无法访问,之前在外做宣讲的时候,也被很多朋友问到ipfs.io是否一直会被禁的问题,纷纷表示担忧,这边通过一个简单的D...

    圆方圆学院
  • 【戴嘉乐 IPFS】详解IPFS的本质、技术架构以及应用

    IPFS的中文名是星际文件系统,由Juan Benet在2014年5月份发起。Juan Benet的个人经历很传奇,他毕业于斯坦福大学,在创建IPFS项目之前,...

    圆方圆学院
  • 生态中为数不多的万亿市场:去中心化存储

    波卡生态观察,是我们针对 Polkadot 生态内的项目,以不同生态位的视角来观察和分析的一个专题栏目。Polkadot 是一个扩展性很强的项目,可容纳非常多的...

    用户7358413
  • 星际文件系统IPFS入门指南

    IPFS的全称是InterPlanetary File System星际文件系统,是一个点对点的网络超媒体协议。它的目标是成为更快、更安全、更开放的下一代互联网...

    ACM算法日常
  • 【戴嘉乐 IPFS】(进阶)基于IPFS和Ngrok构建自维护资源网关

    上篇文章《(入门)基于IPFS和Ngrok构建自维护资源网关》,我们通过Ngrok为IPFS节点配置HTTP Tunnels,充分利用了其NAT穿越的特性,成功...

    圆方圆学院
  • 站在Web3.0 理解IPFS是什么

    尽管网络上,已经有不少文章讨论IPFS,不过真正讲明白IPFS想做什么的很少,文本尝试站在未来Web3.0的高度来看看IPFS究竟用来解决什么问题。

    Tiny熊
  • 万维网之父开源了去中心化平台,让用户掌控自己的社交数据,分布式社交协议栈Solid和内容分发网络IPFS

    本文将介绍 solid 协议栈涉及到的各种概念,以及我们能如何用以太坊、IPFS 等新的分布式应用基础设施来实现 solid 应用,光复去中心化的民主互联网。

    mixlab
  • 浅析IPFS 与 SAFE Network 的关系与区别

    IPFS = InterPlanetary File System,是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协...

    存储小白
  • 使用IPFS、Filecoin和Wolfram语言构建统一的去中心化服务接口

    作为 Wolfram 的统一区块链接口的核心目标的一部分,Wolfram Blockchain Labs (WBL) 致力于为开发人员提供对于一系列区块链和去中...

    WolframChina
  • 灭霸级IPFS矿机来袭:千亿金矿我来了!

    最近搜IPFS矿机,我们关注到百度上有一篇叫做《一文带你细数IPFS矿机的种种坑》的热文,引起了国内IPFS矿工朋友们的强烈的反响。这篇文章将目前鱼龙混杂的IP...

    区块链领域
  • IPFS+IPNS+个人博客搭建

    rectinajh
  • 【计算机系统】IPFS · 文件币 · 分布式网络

    这篇的主要内容是浅淡下IPFS(星际文件系统)和Filecoin(文件币),途中讲讲分布式网络有关的故事。之前有很多人由于区块链大火而加入这个乱...

    ZifengHuang
  • 互链脉搏对话IPFS布道者董天一:继比特币、以太坊、EOS之后又一个区块链现象级应用

    在历经沸沸扬扬的超级节点竞选后,EOS热潮逐渐退却,但在业界,另一个被称为区块链中拜火教的IPFS正受到越来越多人的关注。

    互链脉搏
  • 【戴嘉乐】(进阶)基于IPFS和Ngrok构建自维护资源网关

    上篇文章《【应用】(入门)基于IPFS和Ngrok构建自维护资源网关》,我们通过Ngrok为IPFS节点配置HTTP Tunnels,充分利用了其NAT穿越的特...

    圆方圆学院
  • 【戴嘉乐 IPFS】基于IPFS和GeoHash构建具有地理位置价值服务的DDApp(理论篇)

    打造地理位置信息与区块链的关系对象模型,建立一套 人->位置->真实世界->传递信任->价值转移->位置->人 的生态模型,实现用区块链来索引真实世界的愿景。

    圆方圆学院

扫码关注云+社区

领取腾讯云代金券