日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kong入门实战

發布時間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kong入门实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

安裝kong-database

docker run -d --name kong-database \-p 5432:5432 \-e "POSTGRES_USER=kong" \-e "POSTGRES_DB=kong" \postgres:9.4

安裝kong

docker run -d --name kong \--link kong-database:kong-database \-e "KONG_DATABASE=postgres" \-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \-e "KONG_PG_HOST=kong-database" \-p 8000:8000 \-p 8443:8443 \-p 8001:8001 \-p 7946:7946 \-p 7946:7946/udp \kong:latest

8000端口 http 監聽客戶端傳入的HTTP流量
8443端口 https 監聽客戶端傳入的HTTPS流量
8001端口 admin api監聽端口

安裝kong-dashboard

docker run -d -p 8080:8080 --name kong-dashboard pgbi/kong-dashboard:v2

kong-dashboard管控臺訪問地址http://172.16.222.115:8080

注冊api服務

有如下兩個api服務

http://172.16.222.115:8129/info

http://172.16.222.115:8129/users

向kong中添加api

curl -i -X POST --url http://172.16.222.115:8001/apis/ --data 'name=info' --data 'uris=/info,/getinfo' --data 'methods=GET' --data 'upstream_url=http://172.16.222.115:8129/info' --data 'strip_uri=true' curl -i -X POST --url http://172.16.222.115:8001/apis/ --data 'name=users' --data 'uris=/users,/getusers' --data 'methods=GET' --data 'upstream_url=http://172.16.222.115:8129/users' --data 'strip_uri=true'

注意:

name為api服務名不能重復

hosts、uris、methods至少應指定一個,uris指定該api在kong上訪問時的uri路徑,當有多個時使用逗號分割

upstream_url為真正的api服務地址

strip_uri表示通過其中一個uris前綴匹配API時,是否從upstream_url中刪除匹配到的uris前綴。默認值:true

kong-dashboard管控臺api列表

訪問注冊在kong中的api服務

curl -i -X GET --url http://172.16.222.115:8000/info curl -i -X GET --url http://172.16.222.115:8000/getinfo curl -i -X GET --url http://172.16.222.115:8000/users curl -i -X GET --url http://172.16.222.115:8000/getusers

從kong中刪除api

curl -i -X DELETE http://172.16.222.115:8001/apis/info curl -i -X DELETE http://172.16.222.115:8001/apis/users

查看apis列表

curl -i -X GET http://172.16.222.115:8001/apis

或瀏覽器訪問http://172.16.222.115:8001/apis

插件管理

添加插件

/apis/{name or id}/plugins/

  • 安裝file-log插件
curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=file-log" \--data "config.path=/tmp/file.log"
  • 安裝rate-limiting
curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=rate-limiting" \--data "config.second=5" \--data "config.hour=10000"
  • 安裝ip-restriction插件
curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=ip-restriction" \--data "config.whitelist=172.16.222.115"--data "config.blacklist=143.1.0.0/24"
  • 安裝key-auth插件
curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=key-auth" \--data "config.hide_credentials=true" --data "config.key_names=apikey"

創建Consumer

curl -X POST http://172.16.222.115:8001/consumers/ \--data "username=admin" \--data "custom_id=qtonecloud-admin"curl -X POST http://172.16.222.115:8001/consumers/ \--data "username=guest" \--data "custom_id=qtonecloud-guest"

創建API Key

curl -X POST http://172.16.222.115:8001/consumers/{consumer}/key-auth -d ''

使用API Key調用服務

curl http://172.16.222.115:8000/getusers?apikey=ad097442ea4e4e0c911da52ad5c4cea2
  • 安裝basic-auth插件
curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=basic-auth" \--data "config.hide_credentials=true"

創建Consumer

curl -d "username=qtonecloud&custom_id=qtonecloud" http://172.16.222.115:8001/consumers/

創建Credential

curl -X POST http://172.16.222.115:8001/consumers/{consumer}/basic-auth \--data "username=admin" \--data "password=admin"

使用Credential調用api服務

curl http://172.16.222.115:8000/getusers \-H 'Authorization: Basic YWRtaW46YWRtaW4='

其中YWRtaW46YWRtaW4=為上一步中username與password的Base64編碼后的值即admin:admminBase64編碼后的值

  • 安裝ACL插件

ACL依賴authentication plugin

安裝acl,添加組白名單、黑名單

curl -X POST http://172.16.222.115:8001/apis/{api}/plugins \--data "name=acl" \--data "config.whitelist=user, admin"--data "config.blacklist=guest"

關聯Consumers

curl -X POST http://172.16.222.115:8001/consumers/{consumer}/acls \--data "group=guest"

啟用任何一種Authentication插件,如之前安裝的basic-auth或key-auth插件

使用對應的Authentication插件認證方式調用api

查看插件列表

curl -i -X GET http://172.16.222.115:8001/plugins

或瀏覽器訪問http://172.16.222.115:8001/plugins

kong-dashboard管控臺插件列表

rate-limiting插件限流

ip-restriction插件IP黑名單

key-auth插件

basic-auth

acl

同時啟用basic-auth和acl

參考資料

https://getkong.org/install/docker/

https://getkong.org/plugins/

https://github.com/PGBI/kong-dashboard

?

原文地址:?https://github.com/ameizi/DevArticles/issues/165

總結

以上是生活随笔為你收集整理的kong入门实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。