Open Jean-Baptiste-Lasselle opened 1 year ago
OK, I made a few configuration changes, and :
FIRST_SUCCESS_ALL_MENUS
gives a version which works for all menus, In my opinion, I have to find the configuration to set one conf param, to a value different than the WebUI base URL I think, as it appears in the logs, maybe... ? :
ipfs1 | Swarm announcing /ip4/172.27.0.4/tcp/4001
ipfs1 | Swarm announcing /ip4/172.27.0.4/udp/4001/quic
ipfs1 | Swarm announcing /ip4/172.27.0.4/udp/4001/quic-v1
ipfs1 | Swarm announcing /ip4/172.27.0.4/udp/4001/quic-v1/webtransport/certhash/uEiCcTdzTb1zr7fUvAhyUSt7kr9e0RPh0n_Wz77ChHtoRIg/certhash/uEiC4PoG_htPcY8QzagsUb7WkoEWRuio5H6N3UVNMqC7n7A
ipfs1 | RPC API server listening on /ip4/0.0.0.0/tcp/5001
ipfs1 | WebUI: http://0.0.0.0:5001/webui
ipfs1 | Gateway server listening on /ip4/0.0.0.0/tcp/8080
ipfs1 | Daemon is ready
donc un tunnel ssh au lieu d'exposer et de modifier le docker compose, est une solution correcte pour commencer en mode dev:
Okay, so from where I am now, I need to understand IPFS concepts, especially those related to the gateway :
Petit indice sur la manière dont fonctionne la résolution de noms avec IPFS :
$ ping dweb.link
Envoi d'une requâ–’te 'ping' sur dweb.link [2602:fea2:2::1] avec 32 octets de donnâ–’esâ–’: Râ–’ponse de 2602:fea2:2::1â–’: temps=78 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=56 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=40 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=76 ms
Statistiques Ping pour 2602:fea2:2::1: Paquetsâ–’: envoyâ–’s = 4, reâ–’us = 4, perdus = 0 (perte 0%), Durâ–’e approximative des boucles en millisecondes : Minimum = 40ms, Maximum = 78ms, Moyenne = 62ms
$ ping machin.dweb.link La requâ–’te Ping n'a pas pu trouver l'hâ–’te machin.dweb.link. Vâ–’rifiez le nom et essayez â–’ nouveau.
$ ping machin.ipfs.dweb.link
Envoi d'une requâ–’te 'ping' sur machin.ipfs.dweb.link [2602:fea2:2::1] avec 32 octets de donnâ–’esâ–’:
Râ–’ponse de 2602:fea2:2::1â–’: temps=70 ms
Râ–’ponse de 2602:fea2:2::1â–’: temps=62 ms
Râ–’ponse de 2602:fea2:2::1â–’: temps=255 ms
Râ–’ponse de 2602:fea2:2::1â–’: temps=80 ms
Statistiques Ping pour 2602:fea2:2::1: Paquetsâ–’: envoyâ–’s = 4, reâ–’us = 4, perdus = 0 (perte 0%), Durâ–’e approximative des boucles en millisecondes : Minimum = 62ms, Maximum = 255ms, Moyenne = 116ms
$ ping bafybeicgmdpvw4duutrmdxl4a7gc52sxyuk7nz5gby77afwdteh3jc5bqa.ipfs.dweb.link
Envoi d'une requâ–’te 'ping' sur bafybeicgmdpvw4duutrmdxl4a7gc52sxyuk7nz5gby77afwdteh3jc5bqa.ipfs.dweb.link [2602:fea2:2::1] avec 32 octets de donnâ–’esâ–’: Râ–’ponse de 2602:fea2:2::1â–’: temps=174 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=81 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=36 ms Râ–’ponse de 2602:fea2:2::1â–’: temps=73 ms
Statistiques Ping pour 2602:fea2:2::1: Paquetsâ–’: envoyâ–’s = 4, reâ–’us = 4, perdus = 0 (perte 0%), Durâ–’e approximative des boucles en millisecondes : Minimum = 36ms, Maximum = 174ms, Moyenne = 91ms
La configuration DNS requise est alors exactement analogue à la configuration `*.www.example.com` , appelée "wildcard records" ci-dessous (source: [cloudflare docs](https://developers.cloudflare.com/dns/manage-dns-records/reference/wildcard-dns-records/#create-a-wildcard-record) ) :
![image](https://github.com/3forges/troisforges-ipfs/assets/35227860/94078c41-978b-43e4-ae2c-9c6e61f87368)
Pour notre cas de serveur IPFS public, ce serait un ajout de d'enregistrment DNS de type A ("A record") , avec `*.ipfs` associé à l'IP du serveur, cad que tout les sous-domaines `*.ipfs.dweb.link` pointent vers l'adresse IP.
Bien, maintenant, notre première erreur navigateur survient lors qu'est lancée la requête d'URL http://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.localhost:8080/ :
* cela devrait ĂŞtre http://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.onedev.pokus.io:8080/ ou http://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.pokus.io:8080/
* et cela alors impliquerait un ajout d'enregistrement DNS, de type A, wildcard, `*.ipfs` : l'Ă©quivalent pour `/etc/hosts` serait alors `<adresse IP VM> *.ipfs.pokus.io`
* cependant les wildcard DNS ne sont pas pris en charge par `/etc/hosts`: il sera donc nécesaire d'utiliser un véritable serveur DNS, comme `dnsmasq`
See also : https://webui.ipfs.io/#/welcome
The Web UI is accessible, even if it does throw errors :
ALso :
false
, instead oftrue
, theGateway.NoFetch
configuration propertyipfs config --json Gateway.NoFetch false
, and now the 2 above http links do work, SO I now only have the issue that the webclient tries to access URLs with domain names which do not exist, eg http://bafkqae2xmvwgg33nmuqhi3zajfiemuzahiwss.ipfs.localhost:8080/