什么会导致 HTTP 服务器在隧道与非隧道时发送不同的响应?

问题描述 投票:0回答:0

我正在构建一个 Shopify 嵌入式应用程序,它使用 ngrok 为我的本地服务器建立隧道,以便在 admin.shopify.com 内部使用。

我已经在我的本地服务器上定义了一些简单的路由(例如 GET /test 只记录到控制台并使用

{}
响应)。这些路线在本地工作 - 如果我点击
http://localhost:3001/test
,我会得到我期待的回应。

但是,对 ngrok 服务器的请求(例如

https://382c-2601-197-b7f-e50-304f-5593-deb9-e29b.ngrok.io/test
)给出了截然不同的行为。在我的例子中,似乎除了 GET / 服务器之外的每条路线都是 Vite
index.html
页面。我的服务器正在为 Vite 应用程序提供服务,但奇怪的是,即使我删除了为 Vite 应用程序提供服务的代码,我仍然得到相同的结果。

我得到的确切结果很奇怪,但更一般地说,我怎么可能通过与同一服务器的隧道连接获得不同的结果?像 ngrok 这样的隧道服务的全部意义不就是逐字节复制请求和响应吗?

我 100% 肯定我正在使用的远程 url 确实通过隧道连接到我的服务器 - 当我点击 GET /(唯一在本地和远程都给出相同响应的路由)时,我可以在我的日志中看到我的记录器中间件控制台记录请求。

所以,我的基本问题是,什么可能导致我在通过 ngrok 隧道传输时从我的服务器获得不同的响应

http server ngrok
© www.soinside.com 2019 - 2024. All rights reserved.