KONG -- 配置 service 并添加 key-auth

    默认情况下, KONG 监听下面几个端口:

  • 8000   这个端口用于监听客户端的 HTTP 请求,并转发给上游服务
  • 8443   这个端口用于监听客户端的 HTTPS 请求,并转发给上游服务
  • 8001   用于接收配置 KONG 的 Admin API
  • 8444   功能同 8001,只是这个端口接收的是 HTTPS 请求

普通服务:

1. 为 http://mockbin.org 添加一个名为 example-service 的服务。

$ curl -i -X POST \
  --url http://localhost:8001/services/ \
  --data 'name=example-service' \
  --data 'url=http://mockbin.org'

2. 为上面创建的服务添加一个路由

$ curl -i -X POST \
  --url http://localhost:8001/services/example-service/routes \
  --data 'hosts[]=example.com'

这样就配置完成了一个代理服务,通过访问 KONG 的 example.com ,KONG 会把请求转发到 http://mockbin.org。

注意: /services/ 后面的 example-service 需要和第1步中的 --data 'name=' 的值要一样。

3. 运行下面的命令,会返回 http://mockbin.org 的信息。

$ curl -i -X GET \
  --url http://localhost:8000/ \
  --header 'Host: example.com'

   注意: 这里 --header 'Host: ' 的值要和第2步中的 --data 'hosts[]=' 的值要一样。 

 

     通常,我们都会对提供的服务进行授权认证。KONG 提供了 key-auth 插件,可以实现认证的功能。

添加认证

4. 配置 key-auth 插件

$ curl -i -X POST \
  --url http://localhost:8001/services/example-service/plugins/ \
  --data 'name=key-auth'

    此时,我们再次运行 3 中的命令,会得到类似如下的结果:

HTTP/1.1 401 Unauthorized
...

{
  "message": "No API key found in request"
}

5. 添加一个消费者

$ curl -i -X POST \
  --url http://localhost:8001/consumers/ \
  --data "username=Jason"

6. 为上面的用户添加一个 key。下面命令中的 “ENTER_KEY_HERE” 需要替换成想要设置的密钥。

$ curl -i -X POST \
  --url http://localhost:8001/consumers/Jason/key-auth/ \
  --data 'key=ENTER_KEY_HERE'

7. 在第3步的请求中添加 key 的信息后,可以正常访问了。命令如下:

$ curl -i -X GET \
  --url http://localhost:8000 \
  --header "Host: example.com" \
  --header "apikey: ENTER_KEY_HERE"

 

转载于:https://www.cnblogs.com/langfanyun/p/10298649.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值