我已经成功安装了 Kong 并通过 Kong 提供的管理服务映射了一个 API,如下所示:http://kong:8001/apispayload:{"upstream_url": "http://test.suraj.com:9110/""strip_request_path": true"request_path": "/services_test""preserve_host": false"name": "services_test""request_host": "test.suraj.com"}
在对 http://kong:8001/apis
进行 get 调用时,我能够获得此 API。
现在我正在尝试使用 kong 访问我的 API 端点,例如:http://kong:8000/services_test/test.json
它返回 404 "请求的资源未找到"。
我做错了什么?
我无法访问 kong 的日志。谁能告诉我kong在哪里存储日志文件?
谢谢你的帮助。
PS:所有网址都是虚拟的。
最佳答案
终于,我得到了我的答案。
我做错的是将 strip_request_path
属性设置为 true。
通过在 API 上启用 strip_request_path 属性,请求将被代理,而 request_path 属性不会包含在上游请求中。
就我而言,实际的 API 端点是:http://test.suraj.com:9110/services_test/test.json
并且 Kong 正在将请求重定向到:http://test.suraj.com:9110/test.json
因为 strip_request_path
属性为真。
这是关于 How does Kong route a request to an API 的文档说明
来自 google group 的更多信息
关于api - Kong 为注册的 APIS 返回 404,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38100812/