Willkommen zu L0pb.me, einem kleinen, aber mächtigen Service, den ich speziell für Entwickler entwickelt habe, die ihre lokalen Projekte unkompliziert testen möchten. Ähnlich wie traefik.me oder nip.io zeigt jede Subdomain direkt auf die IP 127.0.0.1
, also den localhost
.
Die Idee zu L0pb.me entstand, als mich ein befreundeter Webentwickler ansprach. Er suchte nach einer weniger komplexen und umfassenden Lösung als DDEV, um mehrere lokale Entwicklungen (wie TYPO3 oder WordPress) gleichzeitig betreiben zu können – und das am besten mit einem funktionierenden SSL-Zertifikat. Als Antwort darauf habe ich ein Traefik-Image mit integrierter Konfiguration (psycho0verload/l0pb-traefik) erstellt und die entsprechende Dokumentation auf L0pb.me veröffentlicht.
Das Geheimnis der Subdomains
Das Besondere an L0pb.me sind die Subdomains. Jede Subdomain von l0pb.me zeigt auf den localhost
. Das bedeutet, wenn du im Browser eine Subdomain wie zum Beispiel meinedomain.l0pb.me aufrufst, gibt der DNS-Server für diese Adresse die IP 127.0.0.1
zurück – die Adresse deines eigenen PCs.
Traefik 3.0 und SSL-Zertifikate
Der nächste Schritt ist einfach: Stelle auf deinem eigenen PC (funktioniert auf Windows, Mac und Linux) Traefik 3.0 mit der vorgefertigten Konfiguration bereit. Vorraussetzung ist Docker Desktop.
services: traefik: container_name: l0pb-traefik hostname: l0pb-traefik image: psycho0verload/l0pb-traefik labels: traefik.docker.network: proxy traefik.enable: "true" traefik.http.routers.traefik.entrypoints: websecure traefik.http.routers.traefik.rule: Host(`traefik.l0pb.me`) || Host(`traefik.l0pb.dev`) traefik.http.routers.traefik.service: api@internal traefik.http.routers.traefik.tls: "true" traefik.http.services.traefik.loadbalancer.sticky.cookie.httpOnly: "true" traefik.http.services.traefik.loadbalancer.sticky.cookie.secure: "true" networks: proxy: ipv4_address: 172.30.255.254 ports: - mode: host target: 80 published: "80" protocol: tcp - mode: host target: 443 published: "443" protocol: tcp restart: unless-stopped security_opt: - no-new-privileges:true volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./log/traefik/:/var/log/traefik/ mailhog: image: mailhog/mailhog hostname: l0pb-mailhog container_name: l0pb-mailhog restart: unless-stopped labels: traefik.docker.network: proxy traefik.enable: "true" traefik.http.routers.mailhog.entrypoints: websecure traefik.http.routers.mailhog.rule: Host(`mailhog.l0pb.me`) || Host(`mailhog.l0pb.dev`) traefik.http.routers.mailhog.tls: "true" traefik.http.routers.mailhog.service: mailhog traefik.http.services.mailhog.loadbalancer.server.port: "8025" networks: proxy: networks: proxy: name: proxy driver: bridge ipam: config: - subnet: 172.30.0.0/16 attachable: true
In dieser Konfiguration ist auch das SSL-Zertifikat für *.l0pb.me enthalten. Anschließend musst du nur noch deinen Service auf der lokalen Maschine mit den richtigen Labels versehen und schon funktioniert das kleine Stück Magie mit einem echten SSL-Zertifikat.
L0pb.me macht das Testen und Entwickeln lokaler Projekte einfacher. Probiere es aus und erlebe, wie mühelos es sein kann, deine Projekte lokal zu hosten und dabei echte SSL-Zertifikate zu nutzen.
Viel Spaß beim Entwickeln!
Hallo Jonathan, ich habe mal versucht das umzusetzen. Da ich bei deiner Grundeinstellung also Port 80 diese Meldung bekommen habe.
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:80 -> 0.0.0.0:0: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Habe ich die Ports 80 und 443 auf 81 und 444 geändert. Ich bekommen immer die Meldung.
“Verbindung fehlgeschlagen”
Wie bekomme ich das gelöst. Vielen Dank und Gruß Andreas