我们的 API 由 WS02 API 管理器管理,但是它将传出请求构建到配置的端点 URL 的方式似乎存在一些问题。当我们向 API 管理器发出请求时,我们会从端点看到这种错误:
Cannot bind to address "http://<HOST>:<PORT>http://<HOST>:<PORT>/<RESOURCE>
该 URL 显然不正确,因为它在 URL 的主机部分之前添加了两次。我们在 API 管理器和端点之间放置了一个调试代理,它显示传出请求如下所示:
GET http://<HOST>:<PORT>/<RESOURCE> HTTP/1.1
...
Host: <HOST>:<PORT>
主机出现在第一行是不正常的;这应该来自“主机”标题。但事实上,我们得到上述错误是有道理的。请注意,当我们通过 Nginx 之类的东西代理它时,它工作正常,但我们实际用于端点的服务器不喜欢它。我猜 Nginx 的编写方式是为了解决这种(技术上不正确的)请求。