SYSTEMD-SOCKET-PROXYD(8) systemd-socket-proxyd SYSTEMD-SOCKET-PROXYD(8) (NAME) systemd-socket-proxyd - systemd (SYNOPSIS) systemd-socket-proxyd [OPTIONS...] HOST:PORT systemd-socket-proxyd [OPTIONS...] UNIX-DOMAIN-SOCKET-PATH (DESCRIPTION) systemd-socket-proxyd (socket-activated) IPv4 IPv6 UNIX . . . systemd . socat(1) . systemd-socket-proxyd "Accept=no" (event-driven) . systemd-socket-proxyd SCM_RIGHTS SCM_CREDENTIALS SCM_SECURITY SO_PEERCRED SO_PEERPIDFD SO_PEERSEC SO_PEERGROUPS . (OPTIONS) : -h, --help . --version . --connections-max=, -c . . . --exit-idle-time= infinity () . "5min 20s" . . --proxy-protocol= PROXY[1] . IP . PROXY[1] "v1" . PROXY . . (EXIT STATUS) 0 . (EXAMPLES) (namespace). . proxy-to-nginx.socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target . proxy-to-nginx.service [Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket [Service] Type=notify ExecStart=/usr/lib/systemd/systemd-socket-proxyd /run/nginx/socket PrivateTmp=yes PrivateNetwork=yes . nginx.conf [...] server { listen unix:/run/nginx/socket; [...] . # systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/ nginx.service StopWhenUnneeded= --exit-idle-time= systemd-socket-proxyd . nginx.service PrivateTmp= PrivateNetwork= . . proxy-to-nginx.socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target . proxy-to-nginx.service [Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket JoinsNamespaceOf=nginx.service [Service] Type=notify ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080 PrivateTmp=yes PrivateNetwork=yes . nginx.conf [...] server { listen 8080; [...] . # systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/ PROXY nginx PROXY systemd-socket-proxyd nginx . proxy-to-nginx.socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target . proxy-to-nginx.service [Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket [Service] Type=notify ExecStart=/usr/lib/systemd/systemd-socket-proxyd --proxy-protocol=v1 /run/nginx/socket PrivateTmp=yes PrivateNetwork=yes . nginx.conf [...] server { listen unix:/run/nginx/socket proxy_protocol; real_ip_header proxy_protocol; [...] . # systemctl enable --now proxy-to-nginx.socket $ curl http://localhost:80/ (SEE ALSO) systemd(1), systemd.socket(5), systemd.service(5), systemctl(1), socat(1), nginx(1), curl(1), PROXY[1], nginx: PROXY[2] (NOTES) 1. PROXY https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt 2. nginx: PROXY https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy- protocol systemd 261.2 SYSTEMD-SOCKET-PROXYD(8)