Reverse Proxy instellen in ServBay: Interne of externe websites lokaal mappen voor ontwikkeling en debugging
ServBay is een lokale webontwikkelomgeving speciaal ontworpen voor macOS, met geïntegreerde ondersteuning voor PHP, Node.js, Python, Go, Java en diverse databases zoals MySQL, PostgreSQL, MongoDB en Redis. Naast het direct hosten van lokale codeprojecten, biedt ServBay krachtige reverse proxy-functionaliteit. Met de reverse proxy kun je eenvoudig webapplicaties die draaien op interne netwerken, virtuele machines, containers of zelfs externe servers mappen naar jouw lokale ServBay-omgeving, waardoor ontwikkel-, debug- en toegangsstromen worden vereenvoudigd.
In dit artikel leggen we stap voor stap uit hoe je een reverse proxy opzet in ServBay, zodat je websites op het interne netwerk of andere toegankelijke adressen via je lokale machine kunt beheren en efficiënt kunt ontwikkelen en debuggen.
Overzicht
Een reverse proxy-server ontvangt aanvragen van de client (bijvoorbeeld je browser) en stuurt deze door naar een of meerdere backend-servers (in dit geval de websites die je wilt proxy’en). ServBay levert deze functionaliteit via de geïntegreerde webserver (Caddy of Nginx).
In lokale ontwikkelscenario’s biedt het instellen van een reverse proxy de volgende belangrijke voordelen:
- Eén centraal toegangspunt: Toegang tot alle interne of externe bronnen via lokale ServBay domeinnamen, zonder ingewikkelde IP-adressen of poorten te hoeven onthouden.
- Vereenvoudigde SSL-configuratie: Met de SSL-beheerfeatures van ServBay (zoals ServBay CA of ACME) kun je geproxiede websites ook via HTTPS bereiken, zelfs als de achterliggende site alleen HTTP ondersteunt.
- Lokaal debuggen: Je kunt eenvoudig remote of interne webapplicaties debuggen in je eigen lokale browseromgeving.
- Netwerkbeperkingen omzeilen: In sommige situaties heb je makkelijk toegang tot bedrijfsinterne of beperkte netwerken via je lokale machine, mits die toegang heeft tot het doeladres.
Vereisten
Voordat je begint met het instellen van de reverse proxy, controleer of aan de volgende voorwaarden is voldaan:
- ServBay is geïnstalleerd en draait: Zorg dat de ServBay-app correct is geïnstalleerd op je macOS-systeem en actief is.
- De gewenste doelsite is bereikbaar: De interne of externe webapplicatie die je wilt proxy’en moet live zijn, en de macOS-machine waar ServBay op draait, moet rechtstreeks via het netwerk het IP-adres/domein en de poort van de doelsite kunnen bereiken. Bijvoorbeeld: als het doeladres
192.168.1.100:8080
is, zorg dan dat je macOS die host kan pingen en toegang heeft tot192.168.1.100:8080
.
Stappen voor het toevoegen van een reverse proxy-site
Hieronder vind je de gedetailleerde stappen voor het configureren van een reverse proxy-website in ServBay:
Stap 1: Open de ServBay-beheerinterface
Ga in je macOS-programmamap naar het ServBay
-icoon en dubbelklik om de applicatie te starten.
Stap 2: Navigeer naar Websitebeheer
Na het opstarten van ServBay kom je op het hoofdscherm. Klik in het navigatiemenu aan de linkerkant op Websites
. Je komt nu op de beheerpagina waar je alle lokaal gehoste websites en reverse proxies kunt beheren.
Stap 3: Voeg een nieuwe website toe
Onderaan de websitebeheerpagina vind je de +
knop. Klik hierop om aan de rechterkant een nieuw formulier te openen voor het configureren van een nieuwe website.
Stap 4: Configureer de reverse proxy-instellingen
In het nieuwe websiteformulier vul je de belangrijkste gegevens in om het gedrag van de reverse proxy te definiëren:
- Naam (Name): Kies een makkelijk te herkennen naam voor de reverse proxy-site. Bijvoorbeeld:
Interne Backend Proxy
. - Domein (Domain): Vul in via welk lokaal domein je toegang wilt tot de geproxiede site. Bijvoorbeeld:
backend.servbay.demo
ofproxy.to.local
. ServBay voegt lokale ontwikkeldomeinen automatisch toe aan hethosts
-bestand van je systeem zodat ze verwijzen naar127.0.0.1
of::1
. - Protocol (Protocol): Kies het protocol dat deze site ondersteunt. Meestal is dit
HTTP/HTTPS
voor gelijktijdige ondersteuning van beide. ServBay regelt automatisch de SSL-configuratie. - SSL-certificaataanvraagmethode (SSL Certificate Request Method):
- ServBay CA (Aanbevolen voor lokale ontwikkeling): Hiermee genereert en beheert ServBay automatisch SSL-certificaten voor je domein via de ingebouwde CA. Dit is handig, maar vereist dat je de ServBay CA rootcertificaat vertrouwt in je browser of systeem om waarschuwingen te voorkomen.
- ACME (Let's Encrypt): Voor publiek toegankelijke domeinen, kies deze optie om een gratis openbaar SSL-certificaat aan te vragen via Let's Encrypt.
- Handmatig (Manual): Als je al SSL-certificaatbestanden hebt (
.crt
,.key
,.ca-bundle
), kun je die hier handmatig uploaden en instellen. Voor lokale ontwikkeling en proxy’s naar interne resources wordtServBay CA
sterk aanbevolen.
- Websitetype (Website Type): Kies
Reverse Proxy
. Deze instelling is essentieel voor de proxy-functionaliteit. - Proxydoel (Proxy Target): Vul het volledige toegangsadres in van de interne of externe website die je wil proxy’en. Dit kan een
IP:Poort
zijn of een volledige URL met protocol.- Voorbeeld 1 (IP:Poort):
192.168.1.100:8080
- Voorbeeld 2 (URL met protocol):
http://192.168.1.100:8080
- Voorbeeld 3 (interne hostnaam):
backend.internal:8443
(mits ServBay deze hostnaam kan resolven) - Voorbeeld 4 (externe URL):
https://api.example.com
Zorg dat het ingevulde adres rechtstreeks bereikbaar is vanaf de machine waar ServBay draait.
- Voorbeeld 1 (IP:Poort):
Stap 5: Voltooi en sla de configuratie op
Nadat alle benodigde gegevens zijn ingevuld, klik je onderaan het formulier op Add
(Toevoegen
). ServBay slaat de configuratie nu direct op en genereert automatisch de benodigde reverse proxy-regels in de webserver (Caddy of Nginx).
Na succesvolle opslag verschijnt de nieuwe reverse proxy-site in het overzicht.
Stap 6: De reverse proxy-website bezoeken
Na configuratie kun je in je browser het domein invoeren dat je in stap 4 hebt ingesteld (bijv. proxy.to.local
of backend.servbay.demo
) om via ServBay toegang te krijgen tot de achterliggende interne of externe webapplicatie.
Als je ServBay CA gebruikt met HTTPS, kan het zijn dat je bij het eerste bezoek een certificaatwaarschuwing krijgt (als het rootcertificaat van ServBay CA nog niet is vertrouwd).
Stap 7: Snelkoppelingen voor acties bij websites
ServBay biedt voor elke website handige snelkoppelknoppen, waaronder:
- Rootmap openen in IDE: Voor reverse proxy-sites meestal niet van toepassing, omdat er geen lokale rootmap is.
- Website openen in browser: Open de site direct in de standaardbrowser.
- Websitelog bekijken: Toegang tot de toegangs- en foutlogs van de ServBay-webserver (Caddy/Nginx)—ideaal voor debugging.
- Website pauzeren/activeren: Schakel tijdelijk de proxy-configuratie in of uit.
- Website verwijderen: Verwijder de reverse proxy-configuratie uit ServBay.
Veelgestelde vragen & Oplossingen (FAQ)
Q: De site is niet bereikbaar; de browser toont een foutmelding.
- Controleer ServBay-status: Zorg dat ServBay draait en de webserver (Caddy/Nginx) actief is.
- Domeinresolutie controleren: Kijk of je het juiste domein invoert in de browser en of dit correct verwijst naar het lokale IP-adres van ServBay (meestal wordt het hosts-bestand automatisch aangepast, maar controleer dit indien nodig handmatig).
- Bekijk de ServBay-logs: Klik op "Bekijk log" bij de betreffende website en controleer de serverlogs van ServBay. Hier vind je clientverzoeken, pogingen om de proxydoel te bereiken en foutmeldingen—de snelste weg naar een oplossing.
- Check firewall/veiligheidssoftware: Controleer of je macOS-firewall of beveiligingssoftware geen poort 80/443 blokkeert of ServBay’s verbinding naar de proxydoel niet beperkt.
Q: De ServBay-machine bereikt het proxydoel, maar via ServBay-domein in de browser krijg ik een foutmelding.
- Controleer proxydoel-formaat: Zorg dat het adresformaat van het proxydoel in ServBay correct is, en dat je machine rechtstreeks toegang heeft tot de doelwebsite. Test bijvoorbeeld met
curl [proxydoeladres]
in de terminal. - Controleer backendserverconfiguratie: Sommige backendservers controleren de
Host
-header. ServBay stuurt standaard de origineleHost
-header mee. Als je backend een specifiekeHost
verwacht (zoals een intern domein), en je benadert hem via een andere domeinnaam, kan dit fout gaan. In de geavanceerde instellingen van ServBay kun je headers aanpassen (dit vereist mogelijk handmatige bewerking van de Caddyfile of Nginx-configuratie). - Check firewall van de doelserver: Ook als ServBay de doel-IP en poort kan bereiken, kan het zijn dat de backend alleen verbindingen uit een specifiek IP-bereik accepteert. Zorg dat inkomende verbindingen vanuit het ServBay-IP zijn toegestaan.
Q: Certificaatwaarschuwing bij HTTPS-verkeer naar de reverse proxy-site.
- ServBay CA gebruikt: Dit is normaal, want de ServBay CA is privé en wordt niet standaard door browsers vertrouwd. Je dient het rootcertificaat van ServBay CA handmatig te installeren/vertrouwen in je OS of browser via het instellingenmenu.
- ACME (Let's Encrypt) gebruikt: Zorg dat het domein correct verwijst naar het IP van de ServBay-machine, en vraag het ACME-certificaat succesvol aan via het SSL-beheer van ServBay. Bekijk de logs voor eventuele speciale foutmeldingen tijdens de aanvraagprocedure.
Q: Hoe proxy ik naar een doel dat specifieke headers of cookies vereist?
Bij basis reverse proxy-instellingen worden de meeste clientheaders standaard doorgestuurd. Voor extra complexe situaties—denk aan extra headers toevoegen, response headers aanpassen, specifieke cookies behandelen of paden herschrijven—kun je de geavanceerde instellingen van ServBay gebruiken om de Caddyfile of Nginx-config handmatig uit te breiden met gedetailleerde reverse proxy-regels. Dit vereist wel enige bekendheid met Caddy- of Nginx-configuratie.
Samenvatting
Met de reverse proxy-functie van ServBay integreer je probleemloos webapps van interne netwerken, virtuele machines, containers of remote servers in jouw lokale ontwikkelomgeving. Dit zorgt niet alleen voor een centraal, handig toegangspunt, maar vereenvoudigt ook debugging en SSL-beheer. Volg de stappen uit deze gids om snel een reverse proxy-site op te zetten en ervan te profiteren. Dankzij de sterke logfunctie en handige troubleshooting in ServBay zorg je dat jouw proxysites stabiel en efficiënt functioneren en til je je ontwikkelworkflow naar een hoger niveau.