BEZEICHNUNG
systemd-socket-proxyd - Bidirektionaler Proxy zwischen lokalen Sockets und anderen (möglicherweise nichtlokalen) SocketsÜBERSICHT
systemd-socket-proxyd
[ OPTIONEN…] RECHNER:PORT
systemd-socket-proxyd
[ OPTIONEN…] UNIX-DOMAIN-SOCKET-PFAD
BESCHREIBUNG
systemd-socket-proxyd ist ein generischer, Socket-aktivierter weiterleitender Netzwerk-Socket-Proxy-Daemon für IPv4, IPv6 und UNIX-Datenstrom-Sockets. Er kann zum bidirektionalen Weiterleiten von Verkehr von einem lokalen Socket, bei dem auf Anfragen gewartet wird, an einen lokalen oder fernen Ziel-Socket verwandt werden. Die Bereitstellung von Socket-Aktivierungsunterstützung für Dienste, die nativ keine Socket-Aktivierung unterstützen, ist ein Anwendungsfall dieses Werkzeugs. Im Auftrag des zu aktivierenden Dienstes erbt der Proxy das Socket von Systemd, akzeptiert jede Client-Verbindung, öffnet die Verbindung zu einem konfigurierten Server für jeden Client und leitet dann Daten bidirektional zwischen den beiden weiter. Das Verhalten dieses Hilfswerkzeugs ist ähnlich socat(1). Der Hauptunterschied zu systemd-socket-proxyd besteht darin, dass die Socket-Aktivierung mit »Accept=no« unterstützt wird und dass ein ereignisgesteuertes Design verwandt wird, das besser mit der Anzahl der Verbindungen skaliert.OPTIONEN
Die folgenden Optionen werden verstanden: -h, --helpZeigt einen kurzen Hilfetext an und beendet
das Programm.
--version
Zeigt eine kurze Versionszeichenkette an und
beendet das Programm.
--connections-max=, -c
Setzt die maximale Anzahl an gleichzeitigen
Verbindungen, standardmäßig 256. Falls die Begrenzung der
gleichzeitigen Verbindungen erreicht ist, werden weitere Verbindungen
abgelehnt.
--exit-idle-time=
Setzt die Zeit vor dem Beenden, wenn es keine
Verbindungen gibt, standardmäßig infinity. Akzeptiert
einen Wert ohne Einheiten in Sekunden oder eine Zeitdauer wie »5min
20s«.
EXIT-STATUS
Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.BEISPIELE
Einfaches Beispiel
Zwei Dienste mit einer Abhängigkeit und keiner Namensraumisolation verwenden. Beispiel 1. proxy-to-nginx.socket[Socket] ListenStream=80 [Install] WantedBy=sockets.target
[Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket [Service] ExecStart=/lib/systemd/systemd-socket-proxyd /run/nginx/socket PrivateTmp=yes PrivateNetwork=yes
[…] server { listen unix:/run/nginx/socket; […]
# systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/
Namensraum-Beispiel
Ähnlich wie oben, führt aber den Socket-Proxy und den Hauptdienst im gleichen privaten Namensraum aus, wobei angenommen wird, dass nginx.service auch PrivateTmp= und PrivateNetwork= gesetzt hat. Beispiel 5. proxy-to-nginx.socket[Socket] ListenStream=80 [Install] WantedBy=sockets.target
[Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket JoinsNamespaceOf=nginx.service [Service] ExecStart=/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080 PrivateTmp=yes PrivateNetwork=yes
[…] server { listen 8080; […]
# systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/
SIEHE AUCH
systemd(1), systemd.socket(5), systemd.service(5), systemctl(1), socat(1), nginx(1), curl(1)ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzersystemd 252 |