LOKALE ONTWIKKELING · PRAKTISCH TESTEN

Localhost delen: mobiele previews en webhooks testen

Je website draait op je computer. Geef je telefoon, een klant of een webhookdienst een tijdelijke HTTPS-link om de site te bereiken. Deployen is niet nodig.

Voor het delen: controleer het lokale adres

Bekijk de URL van je ontwikkelserver. Protocol en poort zijn belangrijk: http://localhost:5173 en https://localhost:7143 zijn verschillende bestemmingen. Open precies dat adres op je computer en voer een gebruikelijke actie uit voordat je de tunnel maakt.

Eén app, één poort

Gebruiken pagina en API hetzelfde lokale adres, dan bereikt één tunnel beide. Paden blijven behouden: een openbaar verzoek naar /contact komt lokaal aan op /contact. De tunnel kopieert of deployt je bestanden niet.

Frontend en API op aparte poorten

Een tunnel naar je frontend publiceert niet vanzelf een API op een andere poort. Een browser die localhost:3000 aanroept, bereikt het apparaat van de bezoeker. Gebruik de API-proxy van je ontwikkelserver of een bereikbare test-URL voor de API en pas de frontend aan.

Maak een openbare link

Start je website of API en controleer de lokale toegang. GhostlyShare herkent actieve lokale webapps automatisch. Klik op Go Public om een openbare HTTPS-link te maken.

  1. Laat je app en GhostlyShare tijdens de test draaien.
  2. Open de link in een privévenster voordat je hem deelt.
  3. Gebruik testgegevens. Stel zo nodig een wachtwoord in voor een besloten klantpreview.

Windows en Linux. Gratis tijdelijke links zonder account, e-mail of abonnement.

GhostlyShare downloaden ↗

Bekijk alle GhostlyShare-functies →

GhostlyShare met openbare preview en deelknoppen

Open het openbare adres op je computer en op een ander apparaat. Werkt de lokale pagina wel en de openbare niet, houd dan beide URL’s bij de hand om appfouten te onderscheiden van tunnel- of hostconfiguratieproblemen.

Open localhost op je telefoon

Op je telefoon verwijst localhost naar de telefoon zelf, niet naar je computer. Open de openbare link of scan de QR-code in GhostlyShare.

  1. Schakel over op mobiele data om toegang buiten je wifi te testen.
  2. Test menu’s, formulieren, toetsenbord en bestandsuploads op het echte apparaat.
  3. Open een subpagina rechtstreeks en herlaad die. Controleer ook afbeeldingen en API-antwoorden.

Test je alleen op hetzelfde wifi-netwerk? Het lokale netwerkadres van je computer kan volstaan als de ontwikkelserver en firewall toegang toestaan. Een openbare tunnel helpt bij andere netwerken en externe diensten.

QR-code in GhostlyShare om een preview op de telefoon te openen

Een nuttige telefoontest in vijf minuten

Navigatie en indeling
Open het menu, draai je telefoon en bekijk een lange pagina. Let op horizontaal scrollen, bedekte knoppen en inhoud achter een vaste kop. Browseremulatie helpt, maar bootst niet elke echte interactie na.
Formulieren en sessie
Tik op elk veld en verstuur eerst een ongeldige en daarna een geldige waarde. Blijven foutmeldingen boven het toetsenbord zichtbaar? Werkt inloggen alleen op je computer, probeer dan een nieuwe sessie en controleer callbackadres en cookies.
Verzoeken en laden
Test een pagina met veel afbeeldingen en een actie die gegevens laadt. Een trage reactie via je thuisverbinding is geen prestatiemeting voor productie. Noteer pagina, apparaat en actie om het probleem lokaal na te bootsen.

Laat je werk aan een klant zien

Stuur de exacte pagina die je wilt laten beoordelen. Vertel wat de ontvanger moet testen en wanneer de preview sluit.

Voor het versturen

Gebruik een testaccount en voorbeeldinhoud. Controleer of de link zonder jouw cookies of aangemelde sessie werkt.

Vraag om een gerichte controle

Het contactformulier invullen, het mobiele menu bekijken of afrekenen met testbetalingen: een duidelijke taak levert bruikbare feedback op.

Hier is de preview voor onze bespreking vandaag. Controleer het mobiele menu en het contactformulier. Na ons gesprek sluit de link.

Maak feedback reproduceerbaar

Vraag om pagina-URL, apparaat, browser en de laatste actie voor het probleem. Een screenshot met ‘ik verwachtte X, maar Y gebeurde’ helpt meer dan ‘de pagina werkt niet’. Meld wijzigingen tijdens de bespreking: bezoekers zien die afhankelijk van je instellingen mogelijk direct, inclusief herladen.

Ontvang lokaal een webhook

Een webhookdienst kan localhost op jouw computer niet bereiken. Geef het openbare tunneladres met het callbackpad op. Dit voorbeeld gaat ervan uit dat je app al POST-verzoeken op /api/webhooks/demo verwerkt.

http://localhost:5173/api/webhooks/demohttps://YOUR-TUNNEL.trycloudflare.com/api/webhooks/demo
  1. Vervang YOUR-TUNNEL door je echte hostnaam en vul de volledige callback-URL in bij de testinstellingen van de aanbieder.
  2. Laat handtekeningcontrole ingeschakeld. Bewaar het webhookgeheim lokaal en verstuur bij de aanbieder een testevent.
  3. Controleer de afleverstatus en lokale logs. Geef het verwachte succesantwoord terug en verwerk herhaalde afleveringen zonder de actie te herhalen.

Een wachtwoordscherm in de browser kan de webhookafzender blokkeren. Gebruik een bereikbaar endpoint en controleer ondertekende verzoeken. CORS geldt voor browserverzoeken, niet voor webhooks tussen servers.

Voorbeeld: GitHub-webhookhandtekeningen controleren ↗

Controleer het webhookantwoord, niet alleen de browser

Het openen van een callback-URL in de browser verstuurt meestal GET. Veel webhookendpoints verwachten POST; een browserfout bewijst dus geen afleverprobleem. Verstuur het testevent en vergelijk tijdstip en aflever-ID met je lokale log.

404 / 405
Controleer pad en HTTP-methode. Gebruik de API-poort, niet vanzelfsprekend die van de frontend. Een bereikbare startpagina betekent niet dat het callbackendpoint bestaat.
401 / 403
Controleer waar het verzoek werd geweigerd: previewwachtwoord, appauthenticatie of handtekeningcontrole. Volg bij ondertekende gegevens de regels voor de oorspronkelijke requestbody; die verwerken en herschrijven vóór controle kan de handtekening ongeldig maken.
5xx / Timeout
Controleer of de app draait en het verzoek ontving. Respecteer bij trage verwerking de antwoordtermijn van de aanbieder en gebruik zo nodig achtergrondtaken. Test herhaalde aflevering om dubbele bestellingen of berichten te voorkomen.

Gebruik de testmodus van de aanbieder en log geen geheimen of volledige persoonsgegevens. Een geslaagde test controleert aflevering en appverwerking, maar vervangt de integratie-eisen van de aanbieder niet.

De link opent, maar iets werkt niet?

De openbare link bereikt de app niet

Open eerst de lokale URL. Controleer poort, HTTP of HTTPS en of de app en tunnel nog draaien.

Afbeeldingen of API-aanroepen mislukken

Zoek naar vast ingestelde localhost-URL’s. Gebruik waar mogelijk relatieve paden. Een API op een andere poort heeft een eigen bereikbare route nodig.

De app verwijst door naar localhost

Controleer de openbare basis-URL, vertrouwde proxy’s en inlogcallbacks. Sta de echte previewhost toe in plaats van hostcontroles overal uit te schakelen.

Live herladen of WebSockets werken niet

Controleer of WebSockets de openbare host en wss op HTTPS-pagina’s gebruiken. Sommige ontwikkelservers vereisen een aparte HMR-hostinstelling.

De webhook krijgt geen succesantwoord

Controleer callbackpad, HTTP-methode, handtekeninggeheim en afleverlog. Werk de callback-URL bij zodra je een nieuwe tijdelijke tunnel start.

Rond de test af en stop met delen

Stop het delen in GhostlyShare of de terminaltunnel met Ctrl+C. Een vervaltijd kan een geplande preview automatisch beëindigen. Verwijder na afloop ook tijdelijke callback-URL’s bij de webhookaanbieder.

Een vast adres nodig voor langdurig gebruik?

Een tijdelijke preview is geen deployment. Onze gids voor thuis hosten behandelt benoemde tunnels, domeinen, Windows-services en gebruikskosten.

Een permanente Cloudflare Tunnel instellen →

Vragen over lokale previews

FAQ

Waarom werkt localhost niet op mijn telefoon?

Localhost verwijst naar het apparaat dat het adres opent. Gebruik op je telefoon de openbare previewlink om de app op je computer te bereiken.

Moet mijn computer aan blijven?

Ja. Je computer, lokale app en tunnel moeten blijven draaien. Slaapstand of het stoppen van de tunnel maakt de preview onbereikbaar.

Heb ik een domein nodig voor een preview?

Nee. Een tijdelijke tunnel geeft je een openbaar HTTPS-adres. Werk gedeelde links en webhookinstellingen bij als dat adres verandert.