Omgevingsvariabelen ontbreken
Sleutels en instellingen die lokaal in een bestand staan, verhuizen niet mee. Op de server moet je ze apart invoeren. Ontbreekt er één, dan faalt de aanroep die hem nodig heeft, vaak zonder duidelijke melding.
Op je eigen machine draait alles. Je zet het online en de helft doet het niet meer: een wit scherm, een foutmelding over een geblokkeerde aanvraag, of inloggen dat je terugstuurt naar het verkeerde adres. Dat is geen toeval en ook geen teken dat je iets fout hebt gedaan. Het is een vast lijstje verschillen tussen je laptop en een server. Hieronder staan de oorzaken die er vrijwel altijd achter zitten.
Lokaal is bijna alles toegestaan. Online is bijna niets vanzelfsprekend.
Op je eigen machine staat alles op dezelfde plek. De voorkant, de achterkant en vaak ook de database draaien naast elkaar, benaderbaar via hetzelfde adres. Er zit geen beveiligingslaag tussen, geen andere partij die meekijkt, en instellingen die je nooit hebt aangeraakt staan op de meest tolerante stand.
Online is elk van die aannames anders. Je voorkant staat op het ene adres, je achterkant op het andere. Er zit een laag tussen die bepaalt wie met wie mag praten. Bestanden die je lokaal wegschrijft, verdwijnen bij de volgende herstart. En instellingen die op je laptop impliciet goed stonden, moet je nu expliciet opgeven.
Voor AI-gegenereerde projecten speelt dat sterker, omdat de gegenereerde code vaak uitgaat van de situatie waarin hij is getest: jouw machine. Het principe erachter is oud en goed beschreven, bijvoorbeeld in de twaalf-factor-richtlijn over configuratie: alles wat per omgeving verschilt hoort buiten de code te staan.
Loop deze in volgorde na. In de meeste gevallen zit het bij de eerste drie.
Sleutels en instellingen die lokaal in een bestand staan, verhuizen niet mee. Op de server moet je ze apart invoeren. Ontbreekt er één, dan faalt de aanroep die hem nodig heeft, vaak zonder duidelijke melding.
Lokaal kies je zelf een poort en die is altijd vrij. Veel hostingplatformen bepalen zelf op welke poort je app moet luisteren. Staat dat nummer hard in je code, dan start de app niet.
Lokaal komt alles van hetzelfde adres, dus er is niets om te blokkeren. Online staan voorkant en achterkant op verschillende adressen en moet je expliciet toestaan dat ze met elkaar praten.
Verwijzingen naar localhost blijven soms staan in de code. Die werken online niet, want daar is localhost de server zelf en niet jouw machine.
Bij inloggen via een externe partij staat vastgelegd waar de gebruiker naartoe teruggestuurd wordt. Staat daar nog je lokale adres, dan strandt het inloggen precies op het laatste moment.
Uploads die lokaal netjes op schijf belanden, zijn na een herstart weg. Online hoort dat naar opslag te gaan die los van de server bestaat.
Het scherm blijft leeg en er is nergens iets te lezen. Dat heeft een reden.
Een deel is af te vinken. Een deel kost vooral tijd als je niet weet waar je moet zoeken.
Meestal is dit een kwestie van uren, niet van opnieuw beginnen.
Dit type probleem voelt groter dan het is. Er is niets mis met je idee en meestal ook niet met je app: er is een lijstje verschillen tussen twee omgevingen dat nog niet is nagelopen. Wie dat lijstje kent, is er sneller doorheen dan wie het per geval uitzoekt.
Waar het wel groter wordt, is als het opgelost wordt door de beveiliging maar open te zetten. Alle aanvragen toestaan bijvoorbeeld, omdat het dan werkt. Dat lost de melding op en creëert een probleem dat je later niet ziet. Zie ook AI-app beveiligen voor waar dat op uitloopt.
Loop je hier vast en zit er een datum aan, dan is meekijken vaak sneller dan doorzoeken. Dat is wat we doen bij vastgelopen met een AI-builder. Wil je eerst weten of jouw geval binnen een dag te doen is, gebruik dan kan dit in één dag.
Omdat je laptop een uitzonderlijke omgeving is. Alles draait daar op hetzelfde adres, instellingen staan op de meest tolerante stand en configuratie die je nooit hebt opgegeven is impliciet goed ingevuld. Online moet dat allemaal expliciet kloppen.
Omgevingsvariabelen die niet zijn overgezet. Sleutels en instellingen staan lokaal in een bestand dat niet meeverhuist naar de server. Ontbreekt er één, dan faalt precies het onderdeel dat hem nodig heeft.
Foutmeldingen worden online meestal onderdrukt om te voorkomen dat technische details zichtbaar worden. De fout staat in de logboeken van je hostingplatform. De browserconsole laat daarnaast zien welke aanroep is mislukt.
Dat is de regel die bepaalt of jouw voorkant aanvragen mag doen naar jouw achterkant als die op een ander adres staan. Lokaal speelt het niet omdat alles op hetzelfde adres draait. Online moet je dat toestaan, en bij voorkeur alleen voor je eigen adres.
Dat werkt en het is geen goed idee. Je zet dan open wat er is afgeschermd, en het effect daarvan zie je niet meteen. Beperk het tot de adressen die het echt nodig hebben.
Als de oorzaak in het rijtje hierboven zit, is het meestal een kwestie van uren. Het duurt lang wanneer je zonder aanknopingspunt zoekt, want de foutmelding wijst zelden naar de echte oorzaak.
Stuur ons de foutmelding en waar je vastloopt. In een intake kijken we mee en zeggen we wat er nodig is om het werkend te krijgen.
Een korte intake volgt na je inschrijving. Daarna stemmen we scope en datum af.
We nemen contact op om de intake in te plannen.
We gebruiken cookies om je ervaring te verbeteren en het gebruik van de site te meten.