当前位置: 首页 > 知识库问答 >
问题:

通过套接字保持与Unicorn的上游连接

涂选
2023-03-14

Nginx 1.1.4可用于与HTTP1的上游连接。1 keepalive指令,请参阅官方文档(它与keepalive客户端的连接不同)。所以独角兽的配置可以如下所示:

upstream unicorn {
  server             unix:/tmp/unicorn.todo.sock fail_timeout=0;
  keepalive          4;
}

server {
  try_files          $uri/index.html $uri @unicorn;
  keepalive_timeout  70;

  location @unicorn {
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   Host $http_host;
    proxy_redirect     off;
    proxy_pass         http://unicorn;

    proxy_http_version 1.1;
    proxy_set_header   Connection "";
  }
}

HTTP连接需要这些标头:proxy_http_version和proxy_set_header。

所以问题是配置有效还是套接字连接本身是永久的?

共有2个答案

何嘉运
2023-03-14

Unicorn在设计上不支持持久(保持活力)连接。因此,您不应该尝试使用持久(保持活力)连接到Unicorn后端。

韦晟睿
2023-03-14

是的,它是有效的。UNIX套接字和TCP/IP套接字在HTTP Keepalive方面没有区别。

 类似资料:
  • 问题内容: 由于共享主机,我的目标主机上的redis服务器不是在端口上运行,而是在非常特定的套接字上运行,该套接字可以通过套接字文件连接,只有我的用户可以访问。 但是,我还没有找到如何在and 包(我想使用的包)中通过套接字指定连接的方法。 有人知道怎么做吗? 问题答案: 更新: 我下面的回答不是真的正确。事实证明,我下面提到的问题中的解决方案实际上仍然有效。IMO,这更多是巧合,但是您可以执行以

  • 问题内容: 我试图理解SocketChannels和NIO。我知道如何使用常规套接字,以及如何制作一个简单的每客户端线程服务器(使用常规阻塞套接字)。 所以我的问题是: 什么是SocketChannel? 当使用SocketChannel而不是Socket时,我还能得到什么呢? 通道和缓冲区之间是什么关系? 什么是选择器? 文档中的第一句话是。那是什么意思? 我也阅读了本文档,但是不知何故…… 问

  • 由于失去了与Azure EventHub的连接,我需要将spring-cloud-stream Kafka套接字配置为活动状态。根据推荐页面https://github.com/azure/azure-event-hubs-for-kafka/blob/master/configuration.md ,我需要将设置为true,但在spring-cloud-stream中找不到要设置的配置

  • 这很好,但没有SSL。 我已经使用OpenSSL为服务器和客户机生成了SSL证书,结果是: 服务器的证书(PEM格式) 客户端的证书(PEM格式) 服务器的私钥(PEM格式) 客户端的私钥(PEM格式) CA文件(PEM、CER和CRT格式) null 会出什么问题?

  • 问题内容: 我已经用套接字卡住了4h,我使用的方式是只有一个应用程序作为客户端和服务器,一旦客户端连接, 它将与新客户端一起打开theard,并等待消息。 一旦消息发送到服务器,客户端将收到响应,该部分正在正常工作。 客户专区的一部分: 服务器支持2条消息,第一条是“列表”,发送一条命令是“获取值”。 如果客户端将请求命令“列表”,它将运行以下命令:有一个“服务器/客户端”,它正在发送请求并接收一

  • 我在android中保持套接字连接有麻烦。 我在应用程序中使用Socket.IO客户端java库。 屏幕打开时保持插座连接。 但是,如果屏幕关闭,套接字会因ping超时而断开连接。 我该如何解决这个问题? 我像这样打开连接。 这是我的服务器端代码 ping间隔为25秒,超时为60秒。 当android屏幕关闭时,客户端不适用于。其他事件正常工作。 服务器与日志断开连接(ping超时)。