簡體   English   中英

WS02 API管理器對端點URL的格式錯誤的請求

[英]WS02 API Manager malformed request to endpoint URL

我們的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是以這樣一種方式編寫的,以便它可以解決這種(技術上不正確的)請求。

我們正在向Synapse API配置中添加屬性'POST_TO_URI',以使傳出URL成為完整的URL [1]。 通過代理服務器發送消息時,這很有用。 您可以通過在AM_HOME / repository / deployment / server / synapse-configs / default / api /目錄中修改API來刪除該屬性。 在相關API中刪除將以下請求發送到此類后端服務器的以下屬性。

<property name="POST_TO_URI" value="true" scope="axis2"/>

[1] https://docs.wso2.org/display/ESB460/HTTP+Transport+Properties

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM