Ngrok est (était) un service pratique pour partager votre site web en local à votre client, mais aujourd’hui il nécessite un compte. Il y a des alternatives comme localtunnel, ou serveo. Mais je vais vous ontrer qu’il est possible de faire sans. Pour ce faire il faut que vous disposiez d’un VPS.
Pour l’exemple je me base sur un Droplet DigitalOcean avec authentification par mot de passe.
Vérifiez juste que le firewall (iptable ou ufw) ne bloque par l’accès au port 22 et que le /etc/ssh/sshd_config contienne les lignes suivantes sur le VPS:
GatewayPorts yes PermitRootLogin yes
Ensuite et c’est là où il faut comprendre qu’il faut faire la commande en local et non sur le VPS !! :
ssh -R 80:localhost:3000 root@159.223.3.3
La commande ci-dessus forwarde le port 80 du serveur VPS (identifié par son adresse IP) vers le localhost:3000.
Il va vous être demandé une authentification (mot de passe), une fois ceci fait, allez dans le navigateur et entrez l’adresse :
http://159.223.3.3 et vous verrez le contenu de votre localhost:3000 !