systemd-socket-proxydsystemdDeveloperDavidStraussdavid@davidstrauss.netsystemd-socket-proxyd1systemd-socket-proxydInherit a socket. Bidirectionally
proxy.systemd-socket-proxydOPTIONSHOSTNAME-OR-IPADDRPORT-OR-SERVICEsystemd-socket-proxydOPTIONSUNIX-DOMAIN-SOCKET-PATHDescriptionsystemd-socket-proxyd provides 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-socket-proxyd
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 this 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/proxy-to-nginx.socket/etc/systemd/system/proxy-to-nginx.service/etc/nginx/nginx.confIndirect-Use ExampleUse a shell script to isolate the
service and proxy into the same namespace.
This is particularly useful for running
TCP-only daemons without the daemon
affecting ports on regular
interfaces.
/etc/systemd/system/proxy-with-nginx.socket
/etc/systemd/system/proxy-with-nginx.service
/usr/bin/socket-proxyd-nginx.sh
/etc/nginx/nginx.confSee Also
systemd.service5,
systemd.socket5,
systemctl1,
socat1