如何通过网络浏览器调用在 Kong 中配置的 api?

How do i invoke my api which is configured in Kong through web browser?

我已经通过 kong..(dummy API) 创建了一个新的 API 配置,如下所示。

curl -i -X POST \

--url http://localhost:8001/apis/ \ --data 'name=myRESTapi' \ --data 'hosts=myrestapi.com' \ --data 'upstream_url=http://demo1592110.mockable.io/hello'

HTTP/1.1 201 已创建 日期:2017 年 12 月 8 日星期五 09:25:35 GMT 内容类型:application/json;字符集=utf-8 传输编码:分块 连接:保持活动状态 访问控制允许来源:* 服务器:kong/0.11.2

{"created_at":1512725135862,"strip_uri":true,"id":"d066b086-6d64-45b7-9908-f6411c456ce4","hosts":["myrestapi.com"],"name":"myRESTapi","http_if_terminated":false,"preserve_host":false,"upstream_url":"http://demo1592110.mockable.io/hello","upstream_connect_timeout":60000,"upstream_send_timeout":60000,"upstream_read_timeout":60000,"retries":5,"https_only":false} [ec2-user@ip-172-31-10-102 ~]$

我在 linux 实例中通过 curl 命令调用 API,如下所示

curl -i -X GET \

--url http://localhost:8000/ \ --header 'Host: myrestapi.com'

HTTP/1.1 200 行 内容类型:application/json;字符集=UTF-8 内容长度:49 连接:保持活动状态 访问控制允许来源:* X 云跟踪上下文:7806a9e612e31e610f9278b98371a60e 日期:2017 年 12 月 8 日星期五 09:26:55 GMT 服务器:Google 前端 X-Kong-上游-延迟:227 X-Kong-Proxy-延迟:46 通过:kong/0.11.2

{ "msg": "shruthi mock API" }

我想知道如何通过 web 浏览器调用这个 api,它应该通过另一台机器上的 kong。

我可以直接在浏览器中通过上游url执行:http://demo1592110.mockable.io/hello

但我想打kong,然后又想调用我的api,但不是使用curl命令,而是想直接通过网络浏览器实现。

我是kong新手,不确定这是否有效。感谢任何帮助。

使用 "hosts" 方法,您需要在无法直接从浏览器复制的 header 值中传递主机。对于主机方法,您需要使用任何其余客户端来传递 header 值或以编程方式实现它。

但是正如您提到的,您需要直接使用浏览器进行尝试,那么我建议您在将 api 添加到 kong 时使用 "uris"。

curl -i -X POST \
--url http://localhost:8001/apis/ \ 
--data "name=myRESTapi" \ 
--data "uris=/hello" \ 
--data "upstream_url=http://demo1592110.mockable.io"

您可以看到添加了 'uris' 并删除了 upstream_url 中的 URI。之后就不需要主机了。

现在,如果您在浏览器中点击 url 作为

http://localhost:8000/hello

你也可以达到同样的效果。