环回连接似乎被阻塞

环回连接似乎被阻塞

以下是我遇到的情况:

  • 服务器由 laravel forge 管理
  • 它在 cloudflare 反向代理后面提供服务
  • Nginx 已启动并运行,监听端口 80 和 443(已确认)

现在我需要为该服务器配置一个自定义负载均衡器,并且发生了一件非常奇怪的事情,当我curl从外部尝试访问该 URL 时,请求成功,访问日志附加到 nginx 日志中,但是当我尝试通过从负载均衡器机器访问它时curl --resolve,连接在任何事情发生之前关闭(没有标头没有状态,基本上没有响应)。

首先,我以为是防火墙配置问题,因此我ssh进入应用程序服务器,并尝试curl --resolve xxxx:80:127.0.0.1通过环回连接访问它,但发生了同样的事情。

然后我尝试使用 https 再次执行相同的操作,但是当客户端尝试启动 TLS 握手时连接关闭。

整个事情看起来就像是环回被阻塞了,这对我来说听起来是不可能的,所以有人知道这个问题是如何发生的吗?

p/s:我确实检查了防火墙,ufw 已启用,但在禁用 ufw 后我得到了相同的结果

在这张图片中,我应该得到 404,而不是根本没有结果

forge@dev-server1:~$ curl -v localhost
*   Trying 127.0.0.1:80...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.68.0
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server
forge@dev-server1:~$ 

更新

根据评论的建议,我运行nginx -T然后这是输出

p/s: 这是我之前提到的 https 测试

forge@dev-server1:~$ curl --resolve member.domain.hide:443:127.0.0.1 https://member.domain.hide -v
* Added member.domain.hide:443:127.0.0.1 to DNS cache
* Hostname member.domain.hide was found in DNS cache
*   Trying 127.0.0.1:443...
* TCP_NODELAY set
* Connected to member.domain.hide (127.0.0.1) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: Connection reset by peer in connection to member.domain.hide:443 
* Closing connection 0
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to member.domain.hide:443 
forge@dev-server1:~$ 

相关内容