systemd-saproxysystemdDeveloperDavidStraussdavid@davidstrauss.netsystemd-saproxy1systemd-saproxyInherit a socket. Bidirectionally
proxy.systemd-saproxyOPTIONSHOSTNAME-OR-IPPORT-OR-SERVICEsystemd-saproxyOPTIONSUNIX-DOMAIN-SOCKET-PATHDescriptionsystemd-saproxyprovides a proxy
to socket-activate services that do not yet support
native socket activation. On behalf of the daemon,
the proxy inherits the socket from systemd, accepts
each client connection, opens a connection to the server
for each client, and then bidirectionally forwards
data between the two.This utility's behavior is similar to
socat1.
The main differences for systemd-saproxy
are support for socket activation with
Accept=false and an event-driven
design that scales better with the number of
connections.OptionsThe following options are understood:Prints a short help
text and exits.Prints a version
string and exits.Skips verification of
the expected PID and file
descriptor numbers. Use if
invoked indirectly, for
example with a shell script
rather than with
Exit statusOn success 0 is returned, a non-zero failure
code otherwise.ExamplesDirect-Use ExampleUse two services with a dependency
and no namespace isolation./etc/systemd/system/bridge-to-nginx.socket/etc/systemd/system/bridge-to-nginx.service/etc/nginx/nginx.confIndirect-Use ExampleUse a shell script to isolate the
service and bridge into the same namespace.
This is particularly useful for running
TCP-only daemons without the daemon
affecting ports on regular
interfaces.
/etc/systemd/system/bridge-with-nginx.socket
/etc/systemd/system/bridge-with-nginx.service
/usr/bin/saproxy-nginx.sh
/etc/nginx/nginx.confSee Also
systemd.service5,
systemd.socket5,
systemctl1,
socat1