如何通过 Web 浏览器调用在 Kong 中配置的 api?
Posted
技术标签:
【中文标题】如何通过 Web 浏览器调用在 Kong 中配置的 api?【英文标题】:How do i invoke my api which is configured in Kong through web browser? 【发布时间】:2018-05-27 08:56:15 【问题描述】:我通过 kong..(dummy API) 创建了一个新的 API 配置,如下所示。
curl -i -X POST \
--网址http://localhost:8001/apis/\ --data '名称=myRESTapi' \ --data 'hosts=myrestapi.com' \ --data 'upstream_url=http://demo1592110.mockable.io/hello'
HTTP/1.1 201 创建 日期:格林威治标准时间 2017 年 12 月 8 日星期五 09:25:35 内容类型:应用程序/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, "重试":5,"https_only":false [ec2-user@ip-172-31-10-102 ~]$
我正在通过以下 linux 实例中的 curl 命令调用该 API
curl -i -X 获取 \
--网址http://localhost:8000/\ --header '主机:myrestapi.com'
HTTP/1.1 200 正常 内容类型:应用程序/json;字符集=UTF-8 内容长度:49 连接:保持活动 访问控制允许来源:* X-云跟踪上下文:7806a9e612e31e610f9278b98371a60e 日期:格林威治标准时间 2017 年 12 月 8 日星期五 09:26:55 服务器:谷歌前端 X-Kong-上游延迟:227 X-Kong-代理延迟:46 通过:kong/0.11.2
“味精”:“shruthi 模拟 API”
我想知道如何通过网络浏览器调用这个api,它应该通过另一台机器上的kong。
我可以直接在浏览器中通过上游url执行:http://demo1592110.mockable.io/hello
但是我想打kong然后又想调用我的api,但不是使用curl命令,而是直接想通过网络浏览器来实现。
我是kong的新手,不确定这是否有效。任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:使用“主机”方法,您需要在标头值中传递主机,您无法直接从浏览器复制。对于主机方法,您需要使用任何休息客户端来传递标头值或以编程方式实现它。
但是正如你提到的你需要直接使用浏览器尝试它,那么我建议你在向kong添加api时使用“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。之后就不需要主机了。
现在,如果您在浏览器中点击网址
http://localhost:8000/hello
您也可以达到同样的效果。
【讨论】:
谢谢,试试这个。那么hosts属性在Kong实时有什么意义呢? 当您计划以编程方式调用 Kong 服务器并且不希望用户知道您的 URI 时,可以使用它。但是,您只能添加不同的主机。我正在为我们的网关使用 URI 方法,这将使我们免于添加任何新主机。对于 kong,我们注册了域名,因此它已成为我们所有呼叫的主机。以上是关于如何通过 Web 浏览器调用在 Kong 中配置的 api?的主要内容,如果未能解决你的问题,请参考以下文章
在 Docker 中运行 Kong,Kong 在 Web 浏览器中不显示 GUI