用于 wsgi over unix domain socket 的类 curl 工具

Posted

技术标签:

【中文标题】用于 wsgi over unix domain socket 的类 curl 工具【英文标题】:curl-like tool for wsgi over unix domain socket 【发布时间】:2012-10-13 05:01:40 【问题描述】:

是否有命令行工具可以直接向监听 unix 套接字的 wsgi 应用程序 (django) 发送请求?

相当于:

curl -X 获取http://example.org/index.html

但这会绕过 HTTP 服务器并通过 wsgi 直接与底层应用程序通信?

【问题讨论】:

【参考方案1】:

监听 unix 套接字的 Django 应用程序使用与 HTTP 不同的协议,很可能是 FastCGI。所以你不能使用 HTTP 客户端直接与它对话。

您可以在此处找到一篇文章,介绍如何使用名为 cgi-fcgi 的命令行程序直接与您的应用程序对话。文章使用的是php-fpm,但是概念是一样的。

http://www.thatsgeeky.com/2012/02/directly-connecting-to-php-fpm/

【讨论】:

uWSGI 的某些模式可能允许它通过 UNIX 套接字侦听 HTTP 请求。我怀疑某些 WSGI 托管解决方案也提供了类似的东西。 OP 需要说明他们使用什么来托管它并设置他们让它监听 UNIX 套接字的场景。 据我所知,WSGI 应用程序需要 WSGI protocol,而不是 FastCGI【参考方案2】:

我认为您正在寻找uwsgi_curl,如this answer 中所述。

【讨论】:

以上是关于用于 wsgi over unix domain socket 的类 curl 工具的主要内容,如果未能解决你的问题,请参考以下文章

unix domain socket 的 UDP 通信

Unix domain socket

UNIX domain sockets

每天看点源码 peertalk —— 一种基于 Unix Domain Socket 的 RPC 方法

golang golang中的Unix over Unix域套接字

Unix domain sockets