NGINX post_action 到 UNIX 域套接字

发布于 2025-01-04 03:21:15 字数 618 浏览 2 评论 0原文

我正在尝试将所有 nginx 流量发送(复制)到 Unix Socket。

这是我的 nginx.conf 中的相关代码,

upstream unixsocket { server unix:/var/www/tmp2.sock; }

post_action /sendLogging
location /sendLogging 
{
proxy_pass http://unixsocket;
}

我应该在此套接字中启动服务器吗?

socket -sl /var/www/tmp2.sock

如果我这样做,我看不到任何发送到套接字的请求。

此外,由于配置的原因,我的 nginx 在测试一个请求时占用了大量 CPU 50-90%。

--

编辑:

我的错误,NGINX 工作进程无法写入 sock 文件。给予适当的权限。

CPU 使用率高的原因是由于 POST_ACTION 标记存在内部重定向。

如果其他人遇到 POST_ACTION 的内部重定向问题,我通过从该位置返回 444 来解决。这对我来说有效。

谢谢。

I am trying to send(copy) all the nginx traffic to Unix Socket.

Here is the related code from my nginx.conf

upstream unixsocket { server unix:/var/www/tmp2.sock; }

post_action /sendLogging
location /sendLogging 
{
proxy_pass http://unixsocket;
}

should i start a server in this socket ?

socket -sl /var/www/tmp2.sock

If i do this, i cant see any requests coming to the socket.

Moreover because of the config, my nginx is taking huge CPU 50-90% Just while testing with ONE request.

--

EDIT:

My mistake, the sock file was not writable by NGINX worker process. Gave appropriate permissions.

The reason for high CPU usage was because of the POST_ACTION tag there was an internal redirect.

If anyone else faces INTERNAL REDIRECT issue with POST_ACTION i solved by returning 444 from the location. this works in my case.

Thanks.

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

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

发布评论

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