91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker搭建Kong--配置Service并添加Key-

發布時間:2020-10-06 15:04:34 來源:網絡 閱讀:644 作者:李佳良 欄目:系統運維

Kong 是在客戶端和(微)服務間轉發API通信的API網關,通過插件擴展功能。
概念術語
upstream: 是對上游服務器的抽象;
target: 代表了一個物理服務,是?ip + port?的抽象;
service: 是抽象層面的服務,他可以直接映射到一個物理服務(host?指向?ip + port),也可以指向一個?upstream?來做到負載均衡
route: 是路由的抽象,他負責將實際的?request?映射到?service。
默認情況下,KONG監聽的端口為:
8000: 此端口是KONG用來監聽來自客戶端傳入的HTTP請求,并將此請求轉發到上有服務器;
8443: 此端口是KONG用來監聽來自客戶端傳入的HTTP請求的。它跟8000端口的功能類似,但是它只是用來監聽HTTP請求的,沒有轉發功能。可以通過修改配置文件來禁止它;
8001: Admin API,通過此端口,管理者可以對KONG的監聽服務進行配置;
8444: 通過此端口,管理者可以對HTTP請求進行監控.

環境部署
1.安裝docker

export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo?http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum repolist
yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7?containerd.io
systemctl start docker && systemctl status docker && systemctl daemon-reload

2.禁用防火墻

systemctl disable firewalld && systemctl stop firewalld && systemctl status firewalld
setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

3.禁用交換分區,設置路由轉發

swapoff -a && yes | cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak | grep -v swap > /etc/fstab
cat /etc/fstab
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

安裝
1.創建docker網絡

docker network create kong-net

2.運行prostgres 9.6數據庫鏡像

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

3.數據庫準備,初始化Kong數據

docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
kong:0.14.1 kong migrations up

4.啟動kong

docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:0.14.1

5.創建并運行Kong dashboard容器

docker run -d \
--network=kong-net \
--link kong:kong -p 8008:8080 pgbi/kong-dashboard start \
--kong-url?http://kong:8001?\
--basic-auth kong=kong

然后訪問?http://你的IP:8008,
登錄賬號為kong,密碼為kong

Docker搭建Kong--配置Service并添加Key-

1.為 http://mockbin.org 添加一個名為 example-service 的服務

使用Admin API添加服務,發出以下cURL請求以將您的第一個服務(指向Mockbin API)添加到Kong:

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'

勾選"strip_path"選項,并點擊”updata“

3. 運行下面的命令,會返回 http://mockbin.org 的信息

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

Docker搭建Kong--配置Service并添加Key-

添加認證

1.配置密鑰身份驗證插件

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

注意:此插件還接受一個config.key_names參數,默認為['apikey']。它是應該在請求期間包含apikey的標頭和參數名稱(均受支持)的列表

2.確認插件配置正確

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

由于您未指定所需的apikey標題或參數,因此響應應為401 Unauthorized
Docker搭建Kong--配置Service并添加Key-

增加消費者

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

為上面的用戶添加一個 key。下面命令中的 “ENTER_KEY_HERE” 需要替換成想要設置的密鑰。

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

在第3步的請求中添加 key 的信息后,可以正常訪問了。命令如下:

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

Docker搭建Kong--配置Service并添加Key-

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永宁县| 延安市| 南雄市| 平乡县| 湘潭市| 莱阳市| 江都市| 祁东县| 洪湖市| 嵊州市| 时尚| 新宁县| 本溪市| 曲水县| 滕州市| 汉沽区| 黄梅县| 女性| 新沂市| 琼结县| 抚州市| 天峨县| 隆德县| 玉屏| 石林| 闸北区| 建德市| 缙云县| 衡阳县| 黑河市| 广宗县| 卢龙县| 巴林左旗| 海伦市| 商洛市| 城口县| 柳江县| 井陉县| 安福县| 天祝| 兴业县|