Legacy Support Team
Technisch

GoProxy: Statische und dynamische Websites einfach hosten

3. Jan. 20258 Min. Lesezeit
GoProxy-Architektur für das Hosting von statischen und dynamischen Websites

GoProxy: Statische und dynamische Websites mühelos hosten

Im Streben nach digitaler Souveränität setzen Organisationen zunehmend auf Open-Source-Tools, um die Kontrolle über ihre Infrastruktur zurückzugewinnen. Ein solches Tool ist GoProxy, ein leichtgewichtiger, funktionsreicher HTTPS-Reverse-Proxy-Server, der in Go geschrieben ist. Mit seiner automatischen SSL-Zertifikatsverwaltung, Multi-Domain-Unterstützung und nahtlosen Integration von statischen und dynamischen Inhalten ermöglicht GoProxy Ihnen, Ihre Websites und Anwendungen sicher und unabhängig zu hosten.

In diesem Beitrag untersuchen wir, wie GoProxy Ihnen helfen kann, digitale Souveränität zu erreichen, indem es eine robuste, selbst gehostete Lösung für die Verwaltung Ihrer Webinfrastruktur bietet.

Warum GoProxy digitale Souveränität unterstützt

GoProxy verkörpert die Prinzipien der digitalen Souveränität durch:

  • Beseitigung von Vendor Lock-In: Hosten Sie Ihre Websites und Anwendungen, ohne sich auf proprietäre Plattformen zu verlassen.
  • Volle Transparenz: Als Open-Source-Tool bietet GoProxy vollständige Einblicke in seine Funktionsweise.
  • Sicherstellung der Sicherheit: Automatische SSL-Zertifikate und robuste Protokollierung halten Ihre Infrastruktur sicher.
  • Ermöglichung von Anpassungen: Passen Sie Ihr Hosting-Setup an Ihre individuellen Bedürfnisse an.

Durch die Einführung von GoProxy machen Sie einen bedeutenden Schritt in Richtung digitaler Souveränität und gewinnen die Kontrolle über Ihre digitalen Assets zurück.

Übernehmen Sie die Kontrolle über Ihre Webinfrastruktur

Digitale Souveränität beginnt mit den Tools, die Sie verwenden. GoProxy bietet eine leistungsstarke, Open-Source-Lösung zum Hosten von statischen und dynamischen Websites, die es Ihnen ermöglicht, eine sichere, unabhängige Webinfrastruktur aufzubauen.

Bereit, loszulegen? Besuchen Sie das GoProxy GitHub-Repository, um das Tool herunterzuladen und seine Funktionen zu erkunden.

Bei Legacy Support Team unterstützen wir Sie dabei, digitale Souveränität mit Open-Source-Lösungen wie GoProxy zu erreichen. Kontaktieren Sie uns noch heute, um zu erfahren, wie wir Sie auf Ihrem Weg zu Unabhängigkeit und Innovation unterstützen können.

Warum GoProxy?

GoProxy wurde mit Einfachheit und Leistung im Hinterkopf entwickelt. Es kombiniert die Leistungsfähigkeit des Go-Concurrency-Modells mit wesentlichen Funktionen für modernes Webhosting, darunter:

  • Automatische SSL/TLS-Zertifikate: Durch die Nutzung von Let’s Encrypt stellt GoProxy sicher, dass Ihre Websites mit minimaler Konfiguration immer sicher sind.
  • Multi-Domain-Unterstützung: Hosten Sie mehrere Domains auf einem einzigen Server, jede mit ihrer eigenen Konfiguration.
  • Statische und dynamische Inhalte: Servieren Sie statische Dateien und leiten Sie dynamische Anfragen nahtlos an Backend-Dienste weiter.
  • WebSocket-Unterstützung: Ermöglichen Sie Echtzeit-Kommunikation für moderne Anwendungen.
  • Detaillierte Protokollierung: Überwachen Sie Ihre Infrastruktur mit umfassenden Protokollen.

Durch die Verwendung von GoProxy können Sie sich von proprietären Hosting-Lösungen befreien und die vollständige Kontrolle über Ihre Webinfrastruktur übernehmen.

Erste Schritte mit GoProxy

Schritt 1: Installation

GoProxy ist einfach mit Go zu installieren:

go install github.com/d0rc/goproxy@latest

Schritt 2: Konfiguration

Erstellen Sie eine Konfigurationsdatei (config.txt), um Ihre Domains und Routing-Regeln zu definieren. Hier ist ein Beispiel:

# Hauptwebsite
domain=example.com
static_dir=/var/www/example
proxy=/api http://localhost:8080
proxy=/socket ws://localhost:8081
fallback_path=/index.html

# Admin-Panel
domain=admin.example.com
static_dir=/var/www/admin
auth=adminuser strongpassword

In dieser Konfiguration:

  • example.com serviert statische Dateien aus /var/www/example und leitet API-Anfragen an http://localhost:8080 weiter.
  • admin.example.com serviert statische Dateien aus /var/www/admin und erfordert eine Basic-Authentifizierung.

Schritt 3: Starten des Servers

Starten Sie GoProxy mit Ihrer Konfigurationsdatei:

goproxy -config config.txt

Das war's! GoProxy wird automatisch SSL-Zertifikate verwalten und Ihre Websites bereitstellen.

Wichtige Funktionen in Aktion

1. Automatische SSL/TLS-Zertifikate

GoProxy integriert sich mit Let’s Encrypt, um kostenlose, automatische SSL-Zertifikate bereitzustellen. Zertifikate werden lokal zwischengespeichert und 30 Tage vor Ablauf erneuert, um einen unterbrechungsfreien Betrieb zu gewährleisten.

2. Servieren statischer Dateien

Servieren Sie statische Dateien für jede Domain mit sauberen URLs und automatischer Indexdateiverwaltung. Für Single-Page-Anwendungen (SPAs) können Sie die Option fallback_path verwenden, um alle Anfragen an Ihre Haupt-HTML-Datei weiterzuleiten.

3. Reverse-Proxy für dynamische Inhalte

Leiten Sie Anfragen mühelos an Backend-Dienste weiter. Zum Beispiel:

proxy=/api http://localhost:8080
proxy=/socket ws://localhost:8081

Diese Konfiguration leitet /api-Anfragen an ein Backend-API und /socket-Anfragen an einen WebSocket-Dienst weiter.

4. WebSocket-Unterstützung

GoProxy aktualisiert HTTP-Verbindungen nahtlos auf WebSocket, um Echtzeit-Kommunikation für moderne Anwendungen zu ermöglichen.

5. Detaillierte Protokollierung

Überwachen Sie Ihre Infrastruktur mit detaillierten Protokollen, einschließlich Anfragezeiten, Zertifikatsverwaltung und Fehlerverfolgung.

Produktive Bereitstellung

Für den produktiven Einsatz sollten Sie diese Best Practices befolgen:

  1. Systemd-Service: Erstellen Sie einen Systemd-Service, um GoProxy als Hintergrundprozess zu verwalten.
[Unit]
Description=GoProxy HTTPS Reverse Proxy
After=network.target

[Service]
Type=simple
User=goproxy
ExecStart=/usr/local/bin/goproxy -config /etc/goproxy/config.txt
Restart=always
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
  1. Firewall-Konfiguration: Öffnen Sie die Ports 80 (HTTP) und 443 (HTTPS) auf Ihrem Server.
  2. Protokollrotation: Richten Sie eine Protokollrotation ein, um Protokolldateien effizient zu verwalten.
  3. Sicherheitsheader: Konfigurieren Sie geeignete Sicherheitsheader, um Ihre Websites zu schützen.

Lassen Sie uns über Ihr Projekt sprechen

Egal, ob Sie Hilfe bei der Wartung, Updates oder der Planung für die Zukunft benötigen, wir sind hier, um zuzuhören und Ihnen zu helfen, wo immer wir können.