zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    mysql优化思路
    mysql列类型选择
    mysql 多列索引的生效规则
    Myisam索引和Innodb索引的区别
    mysql创建远程用户并授权
    mysql 索引长度和区分度
    php 内存共享shmop源码阅读
    短链接系统的算法原理
    PHP die与exit的区别
    MySQL建立外键(Foreign Key)
  • 原文地址:https://www.cnblogs.com/langfanyun/p/10298649.html
Copyright © 2011-2022 走看看