差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
tech:ipfs-web [2022/09/04 22:15] – 建立 jonathan | tech:ipfs-web [2022/09/09 17:36] (目前版本) – [參考網址] jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 測試將靜態 web 放上 IPFS ====== | ====== 測試將靜態 web 放上 IPFS ====== | ||
- | ===== 準備工作 ===== | + | ===== 上傳靜態 web 檔案上傳至 IPFS ===== |
- | * 上傳靜態 web 檔案上傳至 IPFS | + | * 參考: |
- | * 設定 Cloudflare 的 IPFS Public Gateway | + | * 將網頁檔案放入 staging 目錄內 Exp. <cli> |
- | * 設定 DNS TXT 紀錄 | + | $ ls -lR staging/ |
- | * 設定 DNS CNAME 紀錄 | + | staging/ |
+ | total 200 | ||
+ | -rw-r--r-- | ||
+ | -rw-r--r-- | ||
+ | </ | ||
+ | | ||
+ | $ docker exec ipfs_host ipfs add -r / | ||
+ | added QmUUiF7Q7VTSxxP3fCj9eujb8iCjxQ7xsCa3fu9gP8aN5b ipfs-web/ | ||
+ | added QmXjMZ2w2dXrimcSsY6gfLmdZVTZKsF9UrZRzeijYyd2a2 ipfs-web/ | ||
+ | added QmNgePP9fbtEjNarsjMMER4wapB6qHnraJe6JfinCK7cnM ipfs-web | ||
+ | | ||
+ | </ | ||
+ | * 使用 ipfsbrowser 驗證 < | ||
+ | $ curl https:// | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <img src=" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | $ curl https:// | ||
+ | Warning: Binary output can mess up your terminal. Use " | ||
+ | Warning: curl to output it to your terminal anyway, or consider " | ||
+ | Warning: < | ||
+ | $ curl https:// | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <img src=" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | * 因為 QmXjMZ2w2dXrimcSsY6gfLmdZVTZKsF9UrZRzeijYyd2a2 是 png 圖檔, 所以會出現 Warning 的訊息< | ||
+ | Warning: Binary output can mess up your terminal. Use " | ||
+ | Warning: curl to output it to your terminal anyway, or consider " | ||
+ | Warning: < | ||
+ | </ | ||
+ | * 有時因為 ipfsbrowser 無法即時找到 ipfs hash 就會出現類似以下的結果, | ||
+ | $ curl https:// | ||
+ | < | ||
+ | <html lang=" | ||
+ | |||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | <meta http-equiv=" | ||
+ | : | ||
+ | <div class=" | ||
+ | |||
+ | <!--404 section start--> | ||
+ | <section class=" | ||
+ | : | ||
+ | <script src=" | ||
+ | <script src=" | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | ===== 設定 Cloudflare 的 IPFS Public Gateway ===== | ||
+ | * 在網域內啟用 Web3 \\ {{: | ||
+ | * 訂閱 IPFS Gateway Basic 方案 (每個月流量 50GB, 每 GB US$0.25, 可以建立 15 IPFS Gateway) \\ {{: | ||
+ | * 建立一個 IPFS Gateway (網址: ipfs-web.ichiayi.com -> ipfs 上傳的目錄 CID: QmNgePP9fbtEjNarsjMMER4wapB6qHnraJe6JfinCK7cnM | ||
+ | * 透過瀏覽器開啟 https:// | ||
+ | ===== 設定 DNS ===== | ||
+ | * 如果 DNS 是由 Cloudflare 託管, 就會自動配置 TXT 與 CNAME 的紀錄 Exp. \\ {{: | ||
+ | |||
+ | |||
+ | ===== 更新網頁內容 ===== | ||
+ | * 將更新的網頁檔案上傳至 staging 目錄內 | ||
+ | * 再次執行上傳至 IPFS 網路 Exp. 只改動 index.html <cli> | ||
+ | $ docker exec ipfs_host ipfs add -r / | ||
+ | added QmcC6sfd39mzWjZtQnqoDZjgTWx8ZKjqw56FZkcaHTVvG1 ipfs-web/ | ||
+ | added QmXjMZ2w2dXrimcSsY6gfLmdZVTZKsF9UrZRzeijYyd2a2 ipfs-web/ | ||
+ | added QmcgrXvMuUikpiEJAtQM2xMswToGi4KDFNe93yyZURjYBm ipfs-web | ||
+ | | ||
+ | $ curl https:// | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <img src=" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | * ipfs-web 的目錄 CID 已經和之前不同, | ||
+ | * 這樣就可以看到更新後的網頁內容 https:// | ||
===== 參考網址 ===== | ===== 參考網址 ===== | ||
* https:// | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
{{tag> | {{tag> |