Apache 反向代理 Unix 套接字

dre*_*ern 6 unix sockets apache proxy ruby-on-rails

我正在尝试使用 unix 套接字在 Apache 2.4.7 中设置 ProxyPass 到用于 rails 应用程序的 puma 服务器。我不断收到 500 内部错误。当我检查 apache 日志时,我收到此消息:

没有协议处理程序对 URL / 有效。如果您使用的是 mod_proxy 的 DSO 版本,请确保使用 LoadModule 将代理子模块包含在配置中。

这是我在 apache 中的代理配置

ProxyPass / unix:///home/rails/rp/tmp/sockets/puma.sock|http://127.0.0.1/
ProxyPassReverse / unix:///home/rails/rp/tmp/sockets/puma.sock|http://127.0.0.1/
Run Code Online (Sandbox Code Playgroud)

如果我在像这样的常规 tcp 端口上设置代理传递,它工作正常。

ProxyPass / http://127.0.0.1:9292
ProxyPassReverse / http://127.0.0.1:9292
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,如果您需要更多信息,请告诉我。

Nic*_*k M 1

我不确定哪个代理处理程序应该处理套接字,因此您可以尝试加载所有代理处理程序,然后看看哪一个代理处理程序适合您:

https://httpd.apache.org/docs/trunk/mod/mod_proxy.html

请注意,您还可以使用 SetHandler 指定要处理连接的模块