X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-socket-proxyd.xml;h=ab80a2b4ba17de823b538d037260907fc419d52d;hp=90b3b1c3a4f087a2ed36049640c1a3af72e92d93;hb=d55192add75584f55932ad463ee6b4cc30370c63;hpb=96c374d0a536286e18cad64d1b5ebb8f07c90334 diff --git a/man/systemd-socket-proxyd.xml b/man/systemd-socket-proxyd.xml index 90b3b1c3a..ab80a2b4b 100644 --- a/man/systemd-socket-proxyd.xml +++ b/man/systemd-socket-proxyd.xml @@ -20,7 +20,9 @@ You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> - + + systemd-socket-proxyd systemd @@ -35,23 +37,21 @@ systemd-socket-proxyd - 1 + 8 systemd-socket-proxyd - Inherit a socket. Bidirectionally - proxy. + Bidirectionally proxy local sockets to another (possibly remote) socket. systemd-socket-proxyd - OPTIONS - HOSTNAME-OR-IP - PORT-OR-SERVICE + OPTIONS + HOST:PORT systemd-socket-proxyd - OPTIONS + OPTIONS UNIX-DOMAIN-SOCKET-PATH @@ -59,15 +59,22 @@ Description - systemd-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. + systemd-socket-proxyd is a generic + socket-activated network socket forwarder proxy daemon + for IPv4, IPv6 and UNIX stream sockets. It may be used + to bi-directionally forward traffic from a local listening socket to a + local or remote destination socket. + + One use of this tool is to provide + socket activation support for services that do not + natively support socket activation. On behalf of the + service to activate, the proxy inherits the socket + from systemd, accepts each client connection, opens a + connection to a configured server for each client, and + then bidirectionally forwards data between the + two. This utility's behavior is similar to - socat1 . + socat1. The main differences for systemd-socket-proxyd are support for socket activation with Accept=false and an event-driven @@ -78,72 +85,42 @@ Options The 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 status - On success 0 is returned, a non-zero failure + On success, 0 is returned, a non-zero failure code otherwise. Examples - Direct-Use Example + Simple Example Use two services with a dependency and no namespace isolation. - - /etc/systemd/system/proxy-to-nginx.socket - - + proxy-to-nginx.socket + - +WantedBy=sockets.target]]> - - /etc/systemd/system/proxy-to-nginx.service - - + proxy-to-nginx.service + - +ExecStart=/usr/lib/systemd/systemd-socket-proxyd /tmp/nginx.sock +PrivateTmp=yes +PrivateNetwork=yes]]> - - /etc/nginx/nginx.conf + + nginx.conf - - - - + + Enabling the proxy + - Indirect-Use Example - Use 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 - -Namespace Example + Similar as above, but runs the socket + proxy and the main service in the same private + namespace, assuming that + nginx.service has + PrivateTmp= and + PrivateNetwork= set, + too. + + proxy-to-nginx.socket + - +WantedBy=sockets.target]]> - - - - /etc/systemd/system/proxy-with-nginx.service - - + proxy-to-nginx.service + - - - - - /usr/bin/socket-proxyd-nginx.sh - - - +ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080 +PrivateTmp=yes +PrivateNetwork=yes]]> - - - /etc/nginx/nginx.conf - - + nginx.conf + - + [...]]]> - - - - + + Enabling the proxy + See Also - - - systemd.service - 5 - , - - - systemd.socket - 5 - , - - systemctl - 1 - , - - socat - 1 - + systemd1, + systemd.socket5, + systemd.service5, + systemctl1, + socat1, + nginx1, + curl1 +