返回介绍

systemd-socket-proxyd 中文手册

发布于 2020-11-08 09:27:18 字数 3218 浏览 1109 评论 0 收藏 0

名称

systemd-socket-proxyd — 在两个套接字之间执行双向代理

大纲

systemd-socket-proxyd [OPTIONS...] HOST:PORT

systemd-socket-proxyd [OPTIONS...] UNIX-DOMAIN-SOCKET-PATH

描述

systemd-socket-proxyd是一个基于套接字启动的通用套接字转发守护进程,适用于 IPv4, IPv6, UNIX 三种不同的套接字。它可以在一个本地监听套接字与另一个套接字(本地或远程)之间双向转发流量。

此工具的一个用途是为原本不支持基于套接字启动机制的服务提供基于套接字启动的能力。为了达到这个目的,此工具从 systemd 继承套接字,接受客户端连接,并在客户端与服务端之间充当连接代理,双向转发流量。

该工具的行为与socat(1) 类似。不同之处在于即使在 "Accept=no" 的情况下,systemd-socket-proxyd也能支持基于套接字的启动,并且这种基于事件驱动的机制,在连接数很大的时候弹性更佳。

选项

能够识别的命令行选项如下:

-h, --help

显示简短的帮助信息并退出。

--version

显示简短的版本信息并退出。

--connections-max=, -c

设置最大并发连接数,默认值是 256 。超出限制的连接将会被拒绝。

退出状态

返回值为 0 表示成功,非零返回值表示失败代码。

例子

简单例子

在没有名字空间的情况下,按照依赖关系使用两个服务。

例 1. proxy-to-nginx.socket

[Socket]
ListenStream=80

[Install]
WantedBy=sockets.target

例 2. proxy-to-nginx.service

[Unit]
Requires=nginx.service
After=nginx.service
Requires=proxy-to-nginx.socket
After=proxy-to-nginx.socket

[Service]
ExecStart=/usr/lib/systemd/systemd-socket-proxyd /run/nginx/socket
PrivateTmp=yes
PrivateNetwork=yes

例 3. nginx.conf

[…]
server {listen       unix:/run/nginx/socket;[…]

例 4. 开启代理

# systemctl enable --now proxy-to-nginx.socket
$ curl http://localhost:80/

名字空间中的例子

与前面的例子类似,不同之处在于将套接字代理与主服务运行在同一个私有名字空间内,并且假定在nginx.service 中已经设置了PrivateTmp=yesPrivateNetwork=yes

例 5. proxy-to-nginx.socket

[Socket]
ListenStream=80

[Install]
WantedBy=sockets.target

例 6. 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]
ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080
PrivateTmp=yes
PrivateNetwork=yes

例 7. nginx.conf

[…]
server {listen       8080;[…]

例 8. 开启代理

# systemctl enable --now proxy-to-nginx.socket
$ curl http://localhost:80/

参见

systemd(1),systemd.socket(5),systemd.service(5),systemctl(1),socat(1),nginx(1),curl(1)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文