日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

又肝了下微服务 API 网关“金刚”,也是蛮香的~

發(fā)布時(shí)間:2025/3/21 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 又肝了下微服务 API 网关“金刚”,也是蛮香的~ 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

摘要: 原創(chuàng)出處 http://www.iocoder.cn/Kong/install/ 「芋道源碼」歡迎轉(zhuǎn)載,保留摘要,謝謝!

  • 1. 概述

  • 2. 快速安裝

  • 3. Kong 控制臺(tái)

  • 4. 動(dòng)態(tài)負(fù)載均衡

  • 5. 限流限速

  • 6. JWT 身份驗(yàn)證

  • 666. 彩蛋


大家好,我是艿艿,一個(gè)很肝的小胖子~

前端時(shí)間寫(xiě)了篇《國(guó)產(chǎn)微服務(wù)網(wǎng)關(guān) APISIX,有點(diǎn)意思,直接開(kāi)錘,換掉家門(mén)口的 Nginx》文章,有灰常多的留言讓寫(xiě)寫(xiě)關(guān)于 Kong 的內(nèi)容,于是乎艿艿又莽了這篇文章~良心如我!

1. 概述

如下 Kong 簡(jiǎn)介的內(nèi)容,基于 Kong Github、Kong 官方文檔、《API 網(wǎng)關(guān)之 Kong 簡(jiǎn)介》梳理~

另外也推薦下 Kong 的“競(jìng)品” APISIX,一款國(guó)產(chǎn)的微服務(wù) API 網(wǎng)關(guān),目前已經(jīng)進(jìn)入 Apache 中孵化。想要學(xué)習(xí)的胖友,可以點(diǎn)擊傳送門(mén)學(xué)習(xí)!

Kong 是由 Mashape 公司開(kāi)源的云原生、高性能可擴(kuò)展的微服務(wù) API 網(wǎng)關(guān)。它基于 OpenResty 實(shí)現(xiàn),使用 Cassandra 或 PostgreSQL 存儲(chǔ)數(shù)據(jù)。

Kong Logo

?

  • OpenResty:通過(guò) Lua 擴(kuò)展 Nginx 實(shí)現(xiàn)的可伸縮的 Web 平臺(tái)。

  • Cassandra:Key/Value 存儲(chǔ)系統(tǒng)。

  • PostgreSQL:數(shù)據(jù)庫(kù)服務(wù)器。

Kong 整體

?

  • Kong 提供了?RESTful Admin API,可用于管理員進(jìn)行 Kong 的配置。

1.1 特性

Kong 網(wǎng)關(guān)具有以下的特性:

  • 可擴(kuò)展性:通過(guò)簡(jiǎn)單地添加更多的服務(wù)器,可以輕松地進(jìn)行橫向擴(kuò)展,這意味著您的平臺(tái)可以在一個(gè)較低負(fù)載的情況下處理任何請(qǐng)求。

  • 模塊化::可以通過(guò)添加新的插件進(jìn)行擴(kuò)展,這些插件可以通過(guò) RESTful Admin API 輕松配置。

    在 https://docs.konghq.com/hub/ 地址下,可以看到 Kong 內(nèi)置了豐富的插件。

  • 在任何基礎(chǔ)架構(gòu)上運(yùn)行:Kong 網(wǎng)關(guān)可以在任何地方都能運(yùn)行??梢栽谠苹騼?nèi)部網(wǎng)絡(luò)環(huán)境中部署 Kong,包括單個(gè)或多個(gè)數(shù)據(jù)中心設(shè)置,以及 public,private 或 invite-only APIs。

    在 https://konghq.com/install/ 地址中,可以看到 Kong 支持在各種環(huán)境下的安裝。

1.2 架構(gòu)

Kong 的整體架構(gòu)如下所示:

Kong 整體架構(gòu)

?

友情提示:自上往下看哈~注意加粗部分的字!

  • Kong?RESTful 管理 API,提供了 API、API消費(fèi)者、插件、upstreams、證書(shū)等管理。

  • Kong?插件攔截請(qǐng)求/響應(yīng),類似于 Java Servlet 中的過(guò)濾器,實(shí)現(xiàn)請(qǐng)求/響應(yīng)的 AOP 處理。

  • Kong?數(shù)據(jù)存儲(chǔ)用于存儲(chǔ) Kong 集群節(jié)點(diǎn)信息、API、消費(fèi)者、插件等信息,目前提供了 Cassandra 和 PostgreSQL 支持。如果需要高可用,建議使用 Cassandra。

  • Kong?集群中的節(jié)點(diǎn)通過(guò) gossip 協(xié)議自動(dòng)發(fā)現(xiàn)其它節(jié)點(diǎn)。當(dāng)通過(guò)一個(gè) Kong 節(jié)點(diǎn)的管理 API 進(jìn)行一些變更時(shí),也會(huì)通知其他節(jié)點(diǎn)。每個(gè) Kong 節(jié)點(diǎn)的配置信息是會(huì)緩存的,例如插件,那么當(dāng)在某一個(gè) Kong 節(jié)點(diǎn)修改了插件配置時(shí),需要通知其他節(jié)點(diǎn)配置的變更。

  • Kong 核心基于?OpenResty,使用?Lua?進(jìn)行請(qǐng)求/響應(yīng)的處理。

1.3 插件

Kong 內(nèi)置了豐富的插件,提供了強(qiáng)大的功能以及集成能力,同時(shí)我們又可以基于插件機(jī)制自行進(jìn)行拓展。

插件體系

?

  • Authentication 身份認(rèn)證插件:Kong 提供了 Basic Authentication、Key authentication、OAuth2.0 authentication、HMAC authentication、JWT、LDAP authentication 等等實(shí)現(xiàn)。

  • Security 安全控制插件:ACL(訪問(wèn)控制)、CORS(跨域資源共享)、動(dòng)態(tài)SSL、IP 限制、爬蟲(chóng)檢測(cè)等等實(shí)現(xiàn)。

  • Traffic Control 流量控制插件:請(qǐng)求限流(基于請(qǐng)求計(jì)數(shù)限流)、上游響應(yīng)限流(根據(jù) upstream 響應(yīng)計(jì)數(shù)限流)、請(qǐng)求大小限制等等實(shí)現(xiàn)。限流支持本地、Redis 和集群三種限流模式。

  • Analytics & Monitoring 分析監(jiān)控插件:對(duì)接 Datadog、Prometheus、Zipkin 等等監(jiān)控系統(tǒng)的實(shí)現(xiàn)。

  • Transformations 協(xié)議轉(zhuǎn)換插件:請(qǐng)求轉(zhuǎn)換(在轉(zhuǎn)發(fā)到 upstream 之前修改請(qǐng)求)、響應(yīng)轉(zhuǎn)換(在 upstream 響應(yīng)返回給客戶端之前修改響應(yīng))。

  • Logging 日志應(yīng)用插件:支持 TCP、UDP、HTTP、File、Syslog、StatsD、Loggly 等等方式傳輸日志。

  • Serverless 插件:提供對(duì) AWS Lambda、Azure Functions、Apache OpenWhisk、Kong 自帶 Serverless Functions 等等的 ?Serverless 解決方案的支持。

  • Deployment 插件

1.4 請(qǐng)求流程

為了更好地使用 Kong 網(wǎng)關(guān),我們需要理解它處理 API 接口的典型請(qǐng)求工作流程:

請(qǐng)求流程

?

Kong 是每個(gè) API 請(qǐng)求的入口點(diǎn)(Endpoint)

  • 當(dāng) Kong 運(yùn)行時(shí),每個(gè)對(duì) API 的請(qǐng)求將先被 Kong 命中,然后這個(gè)請(qǐng)求將會(huì)被代理轉(zhuǎn)發(fā)到最終的 API 接口。

  • 在請(qǐng)求(Requests)和響應(yīng)(Responses)之間,Kong 將會(huì)執(zhí)行已經(jīng)事先安裝和配置好的插件,授權(quán) API 訪問(wèn)操作。

2. 快速安裝

在《Kong 文檔 —— 安裝》下,官方提供了多種安裝方式,這里我們采用?CentOS?系統(tǒng)。

Kong 安裝方式

?

友情提示:如果胖友會(huì)使用 Docker 的話,安裝起來(lái)會(huì)比較便捷,可參考如下文章:

  • 《Kong 與 Konga 之 Docker 部署》

  • 《Kong 文檔 —— Docker 方式安裝》

2.1 安裝 PostgreSQL

相比 Cassandra 來(lái)說(shuō),我們會(huì)更加熟悉 PostgreSQL,所以我們采用?PostgreSQL?作為 Kong 的數(shù)據(jù)存儲(chǔ)。在《Kong 文檔 —— CentOS 安裝》提到,PostgreSQL 最低要求?9.5+?版本,這里我們采用?12?版本。

友情提示:如下所有的命令行操作,是在?root?用戶下執(zhí)行。如果胖友使用非?root?用戶,請(qǐng)額外增加?sudo?命令。

2.1.1 安裝

① 打開(kāi)《PostgreSQL 文檔 —— CentOS 安裝》,選擇 PostgreSQL?12?+ CentOS?7?后獲得安裝方式。如下圖所示:

PostgreSQL 安裝步驟

?

② 執(zhí)行如下命令,進(jìn)行 PostgreSQL 的安裝

#?添加?PostgreSQL?的?RPM $?yum?install?https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm#?安裝?PostgreSQL?Server?12 $?yum?install?postgresql12-server#?初始化數(shù)據(jù)庫(kù) $?/usr/pgsql-12/bin/postgresql-12-setup?initdb PostgreSQL 安裝成功

③ 執(zhí)行如下命令,進(jìn)行 PostgreSQL 的啟動(dòng)

#?設(shè)置?PostgreSQL?開(kāi)機(jī)啟動(dòng)服務(wù) $?systemctl?enable?postgresql-12#?啟動(dòng)?PostgreSQL?服務(wù) $?systemctl?start?postgresql-12#?查看?PostgreSQL?狀態(tài) $?systemctl?status?postgresql-12 PostgreSQL 啟動(dòng)成功

?

2.1.2 配置

安裝完成之后,會(huì)自動(dòng)創(chuàng)建如下:

  • 在 Linux 中,創(chuàng)建一個(gè) Linux 系統(tǒng)用戶?postgres【管理 PostgreSQL 數(shù)據(jù)庫(kù)的系統(tǒng)管理員】。

  • 在 PostgreSQL 中,創(chuàng)建 PostgreSQL 用戶?postgres【數(shù)據(jù)庫(kù)超級(jí)管理員】,以及數(shù)據(jù)庫(kù)?postgres【用戶?postgres?的默認(rèn)數(shù)據(jù)庫(kù)】。

① 使用?passwd postgres?命令,我們來(lái)初始化下?postgres?用戶的密碼。詳細(xì)如下圖所示:

修改?postgres?用戶的密碼

② 為了安全以及滿足 Kong 初始化的需求,需要?jiǎng)?chuàng)建一個(gè) Linux 用戶?kong,并創(chuàng)建對(duì)應(yīng)的 PostgreSQL 用戶?kong?和數(shù)據(jù)庫(kù)?kong。操作命令如下:

#?創(chuàng)建一個(gè)?Linux?用戶?`kong` $?adduser?kong#?切換到?Linux?系統(tǒng)用戶?`postgres`,因?yàn)樗?PostgreSQL?數(shù)據(jù)庫(kù)的系統(tǒng)管理員 $?su?postgres#?進(jìn)入?PostgreSQL?控制臺(tái) $?psql#?設(shè)置用戶?`postgres`?的密碼【僅僅首次需要】 $?\password?postgres?#?注意開(kāi)頭的?\?必須有!#?創(chuàng)建一個(gè) PostgreSQL 用戶?`kong`,和上面創(chuàng)建的 Linux 用戶?`kong`?對(duì)應(yīng)。 $?create?user?kong?with?password?'123456';?#?密碼?'123456'?根據(jù)自己需要,進(jìn)行隨機(jī)生成~ #?創(chuàng)建一個(gè)?PostgreSQL?數(shù)據(jù)庫(kù)?`kong` $?create?database?kong?owner?kong; #?將數(shù)據(jù)庫(kù)?`kong`?授權(quán)給?PostgreSQL?用戶?`kong` $?grant?all?privileges?on?database?kong?to?kong;#?退出?PostgreSQL?控制臺(tái) $?\q 新建?kong?數(shù)據(jù)庫(kù)

③ PostgreSQL 有四種身份認(rèn)證方式:

  • trust:凡是連接到服務(wù)器的,都是可信任的。只需要提供 PostgreSQL 用戶名,可以沒(méi)有對(duì)應(yīng)的操作系統(tǒng)同名用戶。

  • password 和 md5:對(duì)于遠(yuǎn)程訪問(wèn),需要提供 PostgreSQL 用戶名和密碼。對(duì)于本地連接,提供 PostgreSQL 用戶名密碼之外,還需要有操作系統(tǒng)訪問(wèn)權(quán)(用操作系統(tǒng)同名用戶驗(yàn)證)。password 和 md5 的區(qū)別,就是遠(yuǎn)程訪問(wèn)時(shí)傳輸?shù)拿艽a是否用 md5 加密。

  • ident:對(duì)于遠(yuǎn)程訪問(wèn),從 ident 服務(wù)器獲得客戶端操作系統(tǒng)用戶名,然后把操作系統(tǒng)作為數(shù)據(jù)庫(kù)用戶名進(jìn)行登錄對(duì)于本地連接,實(shí)際上使用了 peer。

  • peer:對(duì)于本地訪問(wèn),通過(guò)客戶端操作系統(tǒng)內(nèi)核來(lái)獲取當(dāng)前系統(tǒng)登錄的用戶名,并作為 PostgreSQL 用戶名進(jìn)行登錄。

在?/var/lib/pgsql/12/data/pg_hba.conf?文件中,PostgreSQL 可以看到目前的配置情況。如下圖所示:

/var/lib/pgsql/12/data/pg_hba.conf?配置文件(默認(rèn))

默認(rèn)配置下,我們無(wú)法在本地或者遠(yuǎn)程使用 PostgreSQL 用戶名和密碼直接連接,因?yàn)楸镜厥褂?peer?認(rèn)證方式,遠(yuǎn)程使用?ident?認(rèn)證方式。解決方法比較簡(jiǎn)單,將本地和遠(yuǎn)程的認(rèn)證方式修改成?trust?或者?password?即可。

下面,我們修改?/var/lib/pgsql/12/data/pg_hba.conf?文件,注釋掉所有默認(rèn)配置,并添加一條?host all all 0.0.0.0/0 trust?默認(rèn),無(wú)論遠(yuǎn)程還是本地訪問(wèn),任何 PostgreSQL 用戶和數(shù)據(jù)庫(kù),都使用?trust?認(rèn)證方式。最終如下圖所示:

/var/lib/pgsql/12/data/pg_hba.conf?配置文件(修改)

?

友情提示:線上環(huán)境,考慮到安全性,建議使用相對(duì)細(xì)粒度的配置。例如說(shuō),將?0.0.0.0/0?修改成指定的內(nèi)網(wǎng)網(wǎng)段。

修改完成后,執(zhí)行?sudo systemctl restart postgresql-12?命令,重啟 PostgreSQL 數(shù)據(jù)庫(kù)。重啟完成后,執(zhí)行?psql -U kong -d kong -h 127.0.0.1 -p 5432?命令,使用 PostgreSQL 用戶名?kong?連接 PostgreSQL 數(shù)據(jù)庫(kù)?kong,又因?yàn)槭?trust?認(rèn)證方式,所以無(wú)需附帶密碼。

④ 默認(rèn)配置下,PostgreSQL 只允許本地連接,所以我們需要修改?/var/lib/pgsql/12/data/postgresql.conf?文件,添加?listen_address?配置項(xiàng)為?*,允許遠(yuǎn)程連接。如下圖所示:

/var/lib/pgsql/12/data/postgresql.conf?配置文件(修改)

修改完成后,執(zhí)行?sudo systemctl restart postgresql-12?命令,重啟 PostgreSQL 數(shù)據(jù)庫(kù)。重啟完成后,使用 Navicat 了解 PostgreSQL 數(shù)據(jù)庫(kù),如下圖所示:

Navicat 連接 PostgreSQL 數(shù)據(jù)庫(kù)

2.2 安裝 Kong

《Kong 文檔 —— CentOS 安裝》,進(jìn)行?CentOS?系統(tǒng)下的 Kong 的安裝。

2.2.1 安裝

① 瀏覽器打開(kāi) http://docs.konghq.com/install/aws-linux/ 地址,郵件下載 Kong 的 RPM 包。如下圖所示:

Kong RPM 包下載

然后,執(zhí)行?wget?命令,進(jìn)行 Kong 的 RPM 包的下載。操作命令如下:

$?wget?-O?"kong.rpm"?https://bintray.com/kong/kong-rpm/download_file?file_path=amazonlinux/amazonlinux/kong-2.0.4.aws.amd64.rpm
  • 其中?-O "kong.rpm"?代表下載文件的命名

  • 最后一串 URL 代表下載文件的地址

② 執(zhí)行?yum install kong.rpm --nogpgcheck?命令,進(jìn)行 Kong 的安裝

2.2.2 配置

① Kong 的默認(rèn)配置文件是?/etc/kong/kong.conf.default,使用?cp /etc/kong/kong.conf.default /etc/kong/kong.conf?命令,復(fù)制一份的配置文件。

復(fù)制完成后,我們修改?/etc/kong/kong.conf?配置文件,設(shè)置使用 PostgreSQL 數(shù)據(jù)庫(kù)。如下圖所示:

/etc/kong/kong.conf?配置文件

② 執(zhí)行?kong migrations bootstrap -c /etc/kong/kong.conf?命令,進(jìn)行 Kong 的 PostgreSQL 數(shù)據(jù)庫(kù)的表初始化。完成后,使用 Navicat 看到如下表:

初始化 PostgreSQL 表

③ 執(zhí)行?kong start -c /etc/kong/kong.conf?命令,執(zhí)行 Kong 的啟動(dòng)。啟動(dòng)成功時(shí),會(huì)看到?Kong started?日志。

默認(rèn)情況下,Kong 綁定 4 個(gè)端口:

  • Proxy?8000:接收客戶端的 HTTP 請(qǐng)求,并轉(zhuǎn)發(fā)到后端的 Upstream。

  • Proxy?8443:接收客戶端的?HTTPS?請(qǐng)求,并轉(zhuǎn)發(fā)到后端的 Upstream。

  • Admin?8001:接收管理員的 HTTP 請(qǐng)求,進(jìn)行 Kong 的管理。

  • Admin?8444:接收管理員的?HTTPS?請(qǐng)求,進(jìn)行 Kong 的管理。

簡(jiǎn)單測(cè)試如下:

#?請(qǐng)求?Proxy?端口 $?curl?http://127.0.0.1:8000 {"message":"no?Route?matched?with?those?values"}? #?因?yàn)槲覀儠簳r(shí)沒(méi)配置 Kong 路由。#?請(qǐng)求?Admin?端口 $?curl?http://127.0.0.1:8001 {"plugins":{"enabled_in_cluster":[],"available_on_server":{...?//?省略? #?注意,考慮到安全性,Admin 端口只允許本機(jī)訪問(wèn)。

3. Kong 控制臺(tái)

Kong 分成免費(fèi)版和企業(yè)版,畢竟都要吃飯的。免費(fèi)版本的 Kong 是不提供 Kong 的控制臺(tái),只能通過(guò) Kong Admin API 進(jìn)行 Kong 的維護(hù)和管理,顯然非常不方便。所幸開(kāi)源社區(qū)提供了兩個(gè)做的不錯(cuò)的 Kong 控制臺(tái)項(xiàng)目:

  • Kong Dashboard,已經(jīng)有 15 個(gè)月左右未維護(hù),不支持 Kong 2.x 版本。

  • Konga,更新頻繁,支持 Kong 2.X 版本。

因此,現(xiàn)在一般采用 Konga 作為 Kong 的控制臺(tái)。界面如下圖所示:

Konga 界面

?

  • 基于 Kong Admin API 管理所有 Kong 的對(duì)象。

  • 支持從數(shù)據(jù)庫(kù)、文件、API 等遠(yuǎn)程數(shù)據(jù)源導(dǎo)入 Consumer。

  • 管理多個(gè) Kong 界面。

  • 備份,恢復(fù),通過(guò)快照遷移 Kong 節(jié)點(diǎn)。

  • 通過(guò)健康檢查監(jiān)控 Kong 節(jié)點(diǎn)和 API 狀態(tài)。

  • 支持 Email 和 Slack 消息通知方式。

  • 支持多用戶,可以設(shè)置不同的權(quán)限。

  • 支持 MySQL、PostgreSQL、MongoDB 數(shù)據(jù)庫(kù)。

下面,我們來(lái)一起進(jìn)行 Konga 的安裝與學(xué)習(xí)。

友情提示:如果胖友會(huì)使用 Docker 的話,安裝起來(lái)會(huì)比較便捷,可參考如下文章:

  • 《Kong 與 Konga 之 Docker 部署》

  • 《Konga 文檔 —— Production Docker Image》

3.1 安裝 NodeJS 環(huán)境

因?yàn)?Konga 是基于 NodeJS 開(kāi)發(fā)的項(xiàng)目,所以需要安裝 NodeJS 相關(guān)的環(huán)境。執(zhí)行命令如下:

Node 的安裝,可參考 https://github.com/nodesource/distributions 倉(cāng)庫(kù)。

#?安裝?NodeJS?14.x?和?NPM $?curl?-sL?https://rpm.nodesource.com/setup_12.x?|?bash?- $?yum?install?nodejs?npm?-y#?打印版本 $?node?--version v12.17.0 $?npm?--version 6.14.5#?安裝?gulp、bower、sails $?npm?install?-g?gulp $?npm?install?-g?bower $?npm?install?-g?sails “
  • NodeJS:運(yùn)行在服務(wù)端的 JavaScript。

  • npm:npm 是 JavaScript 世界的包管理工具,并且是 NodeJS 平臺(tái)的默認(rèn)包管理工具。通過(guò) npm 可以安裝、共享、分發(fā)代碼,管理項(xiàng)目依賴關(guān)系。

  • gulp:一個(gè)自動(dòng)化構(gòu)建工具,開(kāi)發(fā)者可以使用它在項(xiàng)目開(kāi)發(fā)過(guò)程中自動(dòng)執(zhí)行常見(jiàn)任務(wù)。

  • bower:一個(gè)針對(duì)Web開(kāi)發(fā)的包管理器。該工具主要用來(lái)幫助用戶輕松安裝 CSS、JavaScript、圖像等相關(guān)包,并管理這些包之間的依賴。

  • sails:NodeJS 的 MVC 框架。

3.2 安裝 Konga

① 克隆 Konga 的源碼,并下載 NodeJS 相關(guān)依賴包,并進(jìn)行操作命令如下:

#?安裝?Git,已安裝可忽略 $?yum?install?git $?git?clone?https://github.com/pantsel/konga.git#?下載?NodeJS?相關(guān)依賴包 $?cd?kongga $?npm?i#?解決?bower?相關(guān)依賴包 $?npm?run?bower-deps

目前 Konga 支持使用 MySQL、PostgreSQL、SQLServer、MongoDB 四種數(shù)據(jù)庫(kù)。下面,我們以?PostgreSQL?作為 Konga 的數(shù)據(jù)庫(kù)舉例子。

② 創(chuàng)建 Konga 的 PostgreSQL 數(shù)據(jù)庫(kù)?konga,命令行操作如下:

#?創(chuàng)建一個(gè)?Linux?用戶?`konga` $?adduser?konga#?進(jìn)入?PostgreSQL?控制臺(tái) #?因?yàn)槲覀兦袚Q了?PostgreSQL?的認(rèn)證方式為?trust?方式,所以可以這樣連接 $?psql?-U?postgres?-h?127.0.0.1?-p?5432#?創(chuàng)建一個(gè) PostgreSQL 用戶?`konga`,和上面創(chuàng)建的 Linux 用戶?`konga`?對(duì)應(yīng)。 $?create?user?konga?with?password?'123456';?#?密碼?'123456'?根據(jù)自己需要,進(jìn)行隨機(jī)生成~ #?創(chuàng)建一個(gè)?PostgreSQL?數(shù)據(jù)庫(kù)?`konga` $?create?database?konga?owner?konga; #?將數(shù)據(jù)庫(kù)?`konga`?授權(quán)給?PostgreSQL?用戶?`konga` $?grant?all?privileges?on?database?konga?to?konga;#?退出?PostgreSQL?控制臺(tái) $?\q 新建?konga?數(shù)據(jù)庫(kù)

?

友情提示:Konga 暫時(shí)不支持?12 版本的 PostgreSQL,所以下面艿艿卒了,只是“演示”整個(gè)過(guò)程。

建議使用?9.x?版本的 PostgreSQL 哈!

③ 執(zhí)行?cp .env_example .env?命令,復(fù)制出?.env?配置文件,接入 PostgreSQL 作為數(shù)據(jù)庫(kù)。配置內(nèi)容如下:

PORT=1337 NODE_ENV=production KONGA_HOOK_TIMEOUT=120000 DB_ADAPTER=postgres DB_URI=postgresql://konga:123456@localhost:5432/konga KONGA_LOG_LEVEL=warn TOKEN_SECRET=some_secret_token .env?配置文件

④ 執(zhí)行如下命令,初始化 PostgreSQL 數(shù)據(jù)庫(kù):

$?node?./bin/konga.js?prepare?[--adapter?postgres?--uri?postgresql://konga:123456@127.0.0.1:5432/konga] 初始化 PostgreSQL 數(shù)據(jù)庫(kù)

?

= = 因?yàn)檐弟蛋惭b的 PostgreSQL 版本過(guò)高,所以后面艿艿臨時(shí)先使用 MySQL 作為 Konga 的數(shù)據(jù)庫(kù)。下圖是艿艿使用 MySQL 時(shí)候的操作:

MySQL 示例

?

最終 PostgreSQL 數(shù)據(jù)庫(kù)?konga?的表如下圖所示:

konga?表

⑤ 執(zhí)行如下命令,啟動(dòng) Konga 服務(wù):

$?npm?run?production >?kongadmin@0.14.9?production?/root/konga >?node?--harmony?app.js?--prod

默認(rèn)配置下,Konga 啟動(dòng)在?1337?端口。

⑥ 使用瀏覽器,訪問(wèn) <http://127.0.0.1:1337/> 地址,進(jìn)入 Konga 首頁(yè)。因?yàn)?Konga 暫無(wú)**默認(rèn)**管理員,所以自動(dòng)跳轉(zhuǎn)創(chuàng)建頁(yè)面。如下圖所示: Konga 注冊(cè)界面

按照自己的喜好,輸入「賬號(hào)/郵箱/密碼」進(jìn)行管理員的創(chuàng)建。創(chuàng)建完成后,重新訪問(wèn) http://127.0.0.1:1337/ 地址,進(jìn)入 Konga 登陸界面。如下圖所示:

Konga 注冊(cè)界面

輸入「賬號(hào)/密碼」登陸 Konga。因?yàn)槲磁渲?Kong 的 Admin URL 地址,所以進(jìn)行添加。如下圖所示:

Konga 初始化 Kong 界面

添加完 Admin URL 地址后,我們就可以在?Konga?界面中看到?Kong?的信息。如下圖所示:

Kong 信息

至此,我們已經(jīng)完成了 Konga 的安裝,胖友可以自己點(diǎn)點(diǎn) Konga 的界面,愉快的玩耍吧~

旁白君:后續(xù),我們會(huì)一邊進(jìn)行 Kong 的學(xué)習(xí),一邊演示在 Konga 中的展示。

4. 動(dòng)態(tài)負(fù)載均衡

本小節(jié),我們來(lái)實(shí)現(xiàn)對(duì)后端服務(wù)提供的 API 接口進(jìn)行負(fù)載均衡??紤]到方便,艿艿在 https://github.com/YunaiV/SpringBoot-Labs 倉(cāng)庫(kù)提供了一個(gè) Spring Boot 項(xiàng)目?lab-56-demo01,如下圖所示:

Spring Boot 項(xiàng)目

最終示例的效果,如下圖所示:

項(xiàng)目效果

最終我們使用 Kong 實(shí)現(xiàn)負(fù)載均衡的效果等同于如下 Nginx 的配置:

upstream demo-upstream {server localhost:18081 weight=100;server localhost:18082 weight=50; }server {listen 80;location /demo-api/ {proxy_pass http://demo-upstream;} }

下面,我們來(lái)通過(guò) Kong?Admin API?進(jìn)行上述的負(fù)載均衡的配置。

4.1 創(chuàng)建 upstream 和 target

① 調(diào)用 Kong Admin API?/upstreams,創(chuàng)建名字為?demo-upstream?的?upstream

$?curl?-X?POST?http://127.0.0.1:8001/upstreams?--data?"name=demo-upstream" Kong upstream

② 調(diào)用 Kong Admin API?/upstreams/{upstream}/targets,創(chuàng)建 Spring Boot 項(xiàng)目對(duì)應(yīng)的 2 個(gè)?target

注意,{upstream}?路徑參數(shù),為 upstream 的名字。

#?端口?18080?對(duì)應(yīng)的?target $?curl?-X?POST?http://127.0.0.1:8001/upstreams/demo-upstream/targets?--data?"target=10.8.8.34:18080"?--data?"weight=100" #?端口?28080?對(duì)應(yīng)的?target $?curl?-X?POST?http://127.0.0.1:8001/upstreams/demo-upstream/targets?--data?"target=10.8.8.34:28080"?--data?"weight=50" “

友情提示:艿艿這里 Spring Boot 項(xiàng)目啟動(dòng)在 IP 為 10.8.8.34 的服務(wù)器上。

Kong target

③ 如上的配置,效果等同于如下 Nginx 的配置:

upstream demo-upstream {server localhost:18081 weight=100;server localhost:18082 weight=50; }

4.2 創(chuàng)建 service 和 route

① 調(diào)用 Kong Admin API?/services,創(chuàng)建名字為?demo-service?的?service

$?curl?-X?POST?http://127.0.0.1:8001/services?--data?"name=demo-service"?--data?"host=demo-upstream"?
  • host?參數(shù),用于設(shè)置對(duì)應(yīng)的?upstream?的名字。

Kong service

② 調(diào)用 Kong Admin API?services/${service}/routes,創(chuàng)建一個(gè)請(qǐng)求路徑為?path?的?route

注意,{service}?路徑參數(shù),為 upstream 的名字。

$?curl?-X?POST?http://localhost:8001/services/demo-service/routes?--data?"name=demo-route"?--data?"paths[]=/demo-api" Kong route

?

Kong route

③ 如上的配置,效果等同于如下 Nginx 的配置:

server {listen 80;location /demo-api/ {proxy_pass http://demo-upstream;} }

4.3 簡(jiǎn)單測(cè)試

不斷執(zhí)行?curl http://127.0.0.1:8000/demo-api/demo/echo?命令,請(qǐng)求 Kong 網(wǎng)關(guān)來(lái)負(fù)載均衡轉(zhuǎn)發(fā)到后端的 Spring Boot 項(xiàng)目,結(jié)果如下:

echo:18080 echo:18080 echo:28080...

負(fù)載均衡請(qǐng)求到多個(gè)節(jié)點(diǎn),符合預(yù)期~

4.4 簡(jiǎn)單小結(jié)

在上面,我們看到了 Kong 的?upstreamtargetservice、route?四個(gè)對(duì)象,一起來(lái)簡(jiǎn)單小節(jié)下:

service + route + upstream + target

?

Kong 組件說(shuō)明
serviceservice 對(duì)應(yīng)服務(wù),可以直接指向一個(gè) API 服務(wù)節(jié)點(diǎn)(host?參數(shù)設(shè)置為 ip + port),也可以指定一個(gè) upstream 實(shí)現(xiàn)負(fù)載均衡。簡(jiǎn)單來(lái)說(shuō),服務(wù)用于映射被轉(zhuǎn)發(fā)的后端 API 的節(jié)點(diǎn)集合
routeroute 對(duì)應(yīng)路由,它負(fù)責(zé)匹配實(shí)際的請(qǐng)求,映射到?service?中
upstreamupstream 對(duì)應(yīng)一?API 節(jié)點(diǎn),實(shí)現(xiàn)負(fù)載均衡
targettarget 對(duì)應(yīng)一個(gè)?API 節(jié)點(diǎn)

在 Kong 中,還有 Consumer、Plugin、Tag、Certificate、Target 等等對(duì)象,胖友可以閱讀《Kong 文檔 —— Admin API》了解更多。

另外,胖友如果想用 Konga 通過(guò)圖形界面來(lái)配置,可以參考閱讀《Kong 配置 service 和 route 實(shí)現(xiàn)簡(jiǎn)單 API 代理》文章。

5. 限流限速

Kong 提供了 Rate Limiting 插件,實(shí)現(xiàn)對(duì)請(qǐng)求的限流功能,避免過(guò)大的請(qǐng)求量過(guò)大,將后端服務(wù)打掛。

Rate Limiting 支持秒/分/小時(shí)/日/月/年多種時(shí)間維度的限流,并且可以組合使用。例如說(shuō):限制每秒最多 100 次請(qǐng)求,并且每分鐘最多 1000 次請(qǐng)求。

Rate Limiting 支持?consumer、credential、ip?三種基礎(chǔ)維度的限流,默認(rèn)為?consumer。例如說(shuō):設(shè)置每個(gè) IP 允許每秒請(qǐng)求的次數(shù)。計(jì)數(shù)的存儲(chǔ),支持使用?local、cluster、redis?三種方式進(jìn)行存儲(chǔ),默認(rèn)為?cluster:

  • local:存儲(chǔ)在 Nginx 本地,實(shí)現(xiàn)單實(shí)例限流。

  • cluster:存儲(chǔ)在 Cassandra 或 PostgreSQL 數(shù)據(jù)庫(kù),實(shí)現(xiàn)集群限流。

  • redis:存儲(chǔ)在 Redis 數(shù)據(jù)庫(kù),實(shí)現(xiàn)集群限流。

Rate Limiting 采用的限流算法是計(jì)數(shù)器的方式,所以無(wú)法提供類似令牌桶算法的平滑限流能力。

友情提示:Kong 企業(yè)版提供了 [https://docs.konghq.com/hub/kong-inc/rate-limiting-advanced/](Rate Limiting Advanced) 插件,提供平滑限流的功能,且性能更加優(yōu)秀。

The Rate Limiting Advanced plugin for Kong Enterprise is a re-engineered version of the incredibly popular Kong Rate Limiting plugin, with greatly enhanced configuration options and performance.

下面,我們?cè)凇?. 動(dòng)態(tài)負(fù)載均衡」小節(jié)的基礎(chǔ)上,對(duì)名字為?demo-service?的?service?進(jìn)行限流。

5.1 創(chuàng)建 Rate Limiting 插件

調(diào)用 Kong Admin API?services/${service}/plugins,創(chuàng)建 Rate Limiting 插件的配置:

$?curl?-X?POST?http://127.0.0.1:8001/services/demo-service/plugins?\--data?"name=rate-limiting"??\--data?"config.second=1"?\--data?"config.limit_by=ip"
  • name?參數(shù),設(shè)置為?rate-limiting?表示使用 Rate Limiting 插件。

  • config.second?參數(shù),設(shè)置為 1 表示每秒允許 1 次請(qǐng)求。

  • config.limit_by?參數(shù),設(shè)置為?ip?表示使用 IP 基礎(chǔ)維度的限流。

Kong Rate Limiting 01 Kong Rate Limiting 02

?

友情提示:Rate Limiting 插件還支持給?routeconsumer?設(shè)置限流配置,胖友可以閱讀《Kong 文檔 —— Rate Limiting》學(xué)習(xí)。

5.2 簡(jiǎn)單測(cè)試

快速使用?curl http://127.0.0.1:8000/demo-api/demo/echo?命令?2?次,會(huì)被 Kong 限流,返回結(jié)果如下:

{"message":"API?rate?limit?exceeded"}

6. JWT 身份驗(yàn)證

Kong 提供了 JWT 插件,實(shí)現(xiàn)使用 JWT 進(jìn)行認(rèn)證,保護(hù)后端服務(wù)的安全性。

可能有胖友不了解 JWT 認(rèn)證方式,可以先閱讀如下文章:

  • 《JSON Web Token - 在Web應(yīng)用間安全地傳遞信息》

  • 《八幅漫畫(huà)理解使用 JSON Web Token 設(shè)計(jì)單點(diǎn)登錄系統(tǒng)》

下面,我們?cè)凇?. 動(dòng)態(tài)負(fù)載均衡」小節(jié)的基礎(chǔ)上,對(duì)名字為?demo-service?的?service?進(jìn)行 JWT 身份認(rèn)證。

6.1 創(chuàng)建 JWT 插件

① 調(diào)用 Kong Admin API?services/${service}/plugins,創(chuàng)建 JWT 插件的配置:

$?curl?-X?POST?http://127.0.0.1:8001/services/demo-service/plugins?\--data?"name=jwt"
  • name?參數(shù),設(shè)置為?jwt?表示使用 JWT 插件。

Kong JWT 01 Kong JWT 02

② 使用?curl http://127.0.0.1:8000/demo-api/demo/echo?命令,會(huì)被 Kong 安全攔截。返回結(jié)果如下:

{"message":"Unauthorized"} “

友情提示:JWT 插件還支持給?route、consumer?設(shè)置 JWT 認(rèn)證方式,胖友可以閱讀《Kong 文檔 —— JWT》學(xué)習(xí)。

6.2 創(chuàng)建用戶

① 調(diào)用 Kong Admin API?consumers,創(chuàng)建一個(gè) Consumer 消費(fèi)者(用戶):

$?curl?-i?-X?POST?http://localhost:8001/consumers/?\--data?"username=yunai"
  • username?參數(shù),設(shè)置用戶名為?yunai。

Kong Consumer 01

?

Kong Consumer 02

② 調(diào)用 Kong Admin API?consumers/{username}/{plugin},生成該消費(fèi)者的 JWT 信息:

{username}?路徑參數(shù),為 Consumer 的用戶名。
{plugin}?路徑參數(shù),為 Plugin 的插件名。

$?curl?-i?-X?POST?http://localhost:8001/consumers/yunai/jwt/ {"rsa_public_key":?null,"created_at":?1590943621,"consumer":?{"id":?"8fa7e054-9cda-486f-b611-229bf7780969"},"id":?"1af4ee95-f5fb-484c-97da-b5b205bd07c8","tags":?null,"key":?"VbC63YmEg57fgVSLsKsrBHcVe9nu9XLX","secret":?"xtgiCmCLtF7khq7SoAsrZDfVCQGHk5Pl","algorithm":?"HS256" }
  • 注意?key?和?secret?的結(jié)果,稍后會(huì)使用到。

使用 JWT Debugger 功能,生成 JWT?Token。示例如下圖所示:

JWT Debugger 生成 Token

③ 重新訪問(wèn) http://127.0.0.1:8000/demo-api/demo/echo 地址,帶上剛生成的 JWT?Token。操作命令如下:

$?curl?http://127.0.0.1:8000/demo-api/demo/echo?\-H?"Authorization:?Bearer?eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJWYkM2M1ltRWc1N2ZnVlNMc0tzckJIY1ZlOW51OVhMWCJ9.rbWcXb-c1AwA3haiMWKStOcTCjkgVw1gmYMFeV8In6w" echo:18080

成功!美滋滋~

666. 彩蛋

至此,我們已經(jīng)完成 Kong 的初步學(xué)習(xí)。想要進(jìn)一步深入的胖友,除了可以閱讀《Kong 文檔》之外,也可以閱讀如下系列:

  • 《Kong(一)簡(jiǎn)介及部署》

  • 《Kong(二)admin-api(結(jié)合實(shí)例比官網(wǎng)還詳細(xì))》

  • 《Kong(三))Proxy 規(guī)則》

  • 《Kong(四)負(fù)載均衡理論及實(shí)現(xiàn))》

  • 《Kong(五)CentOS7 部署 PostgreSQL 和 kong 總結(jié))》

  • 《Kong(六)集群搭建部署》

  • 《Kong(七)認(rèn)證》

  • 《Kong(八)配置說(shuō)明》

總結(jié)

以上是生活随笔為你收集整理的又肝了下微服务 API 网关“金刚”,也是蛮香的~的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产精品久久久久久久久久久久午 | 亚洲特级毛片 | 97免费| 国产精品99久久久久久人免费 | 91av免费在线观看 | 久久99国产精品免费网站 | 81国产精品久久久久久久久久 | 天天操天天操天天操天天操天天操天天操 | 国产精品免费视频网站 | 久久久久久高潮国产精品视 | 毛片网站免费在线观看 | 天堂在线成人 | 男女全黄一级一级高潮免费看 | 亚洲婷久久 | 三级午夜片 | 在线播放精品一区二区三区 | aaa亚洲精品一二三区 | 国产免费嫩草影院 | 天天操天天操天天 | 久在线观看视频 | 免费看一级特黄a大片 | www.夜夜干.com | 欧美一级乱黄 | 国产成人久| 一区二区中文字幕在线播放 | 国产成人精品三级 | 高潮久久久久久久久 | 精品在线观看视频 | 欧美大jb| 久久免费视频在线观看 | 摸bbb搡bbb搡bbbb | 欧美亚洲成人xxx | 色综合天天狠天天透天天伊人 | 又污又黄的网站 | 欧美大香线蕉线伊人久久 | 国产高清av免费在线观看 | 91九色蝌蚪国产 | 国产传媒中文字幕 | 欧美激情视频三区 | 亚洲精选在线观看 | 免费看成人片 | 国产精品 日韩 | 亚洲国产无 | 狠狠色综合网站久久久久久久 | 精品亚洲va在线va天堂资源站 | 婷婷av资源| 久久精品人人做人人综合老师 | 国产精品视频最多的网站 | 色婷婷在线视频 | 丁香综合av| 亚州av成人 | 激情五月播播久久久精品 | 久久精品视频在线看 | 久久久久在线 | 久久亚洲欧美日韩精品专区 | 久久不卡电影 | 色小说av | 国产精品99久久久久人中文网介绍 | 91人人射| 精品视频| 夜夜躁日日躁狠狠久久88av | 欧美一区日韩精品 | 美女黄频在线观看 | 色噜噜日韩精品欧美一区二区 | 免费在线观看成年人视频 | 深爱激情五月综合 | 久草视频免费播放 | 日本一区二区高清不卡 | 久久久久久久久综合 | 日韩三级久久 | 日韩在线三级 | 国产精品va视频 | 一本色道久久综合亚洲二区三区 | 日韩三级视频在线观看 | av888av.com| 国产手机av在线 | 亚洲成人黄色网址 | 怡红院av久久久久久久 | 久草在线视频国产 | 国产99在线播放 | 91成人免费电影 | 国产午夜精品久久久久久久久久 | 中文字幕日韩一区二区三区不卡 | 97视频资源 | 欧美日韩aa | 国产精品久久久久国产a级 激情综合中文娱乐网 | 免费看片成人 | 国产精品九九九九九 | 91久久久久久国产精品 | 亚洲欧洲精品一区二区 | 久久黄色影院 | 久久在视频 | 黄色特一级 | 丰满少妇一级 | 超碰人人干人人 | 高清中文字幕 | 五月婷婷网站 | 欧美一区二区精品在线 | 国产精品美女久久久久久久久久久 | 国产黄色在线观看 | 日韩免费在线视频观看 | av片一区二区 | 日韩色在线 | 久久涩涩网站 | 国产精品丝袜久久久久久久不卡 | 91网页版免费观看 | 一区二区电影在线观看 | 亚洲综合精品视频 | 久久av网| 日韩精品一区二区在线观看 | 美女一级毛片视频 | 干av在线| 激情视频免费在线 | 久久草草热国产精品直播 | 三级黄色三级 | 国产日产高清dvd碟片 | 亚洲综合成人婷婷小说 | 久久电影国产免费久久电影 | 日日夜夜天天 | 91成人在线观看高潮 | 久久激情五月婷婷 | 日韩久久精品 | 久久综合久久八八 | 91精品国产福利在线观看 | 国产精品99久久久 | 欧美激情第八页 | 不卡中文字幕av | 久久99精品久久久久久三级 | 欧美激情精品久久久 | 97精品伊人 | 久久精品牌麻豆国产大山 | 99操视频 | 一级黄色a视频 | 高清av在线免费观看 | 亚洲专区在线视频 | 欧美精品中文字幕亚洲专区 | 久久99网站 | 又长又大又黑又粗欧美 | 天天天干 | 日韩激情视频 | www.狠狠| 久久久91精品国产一区二区三区 | 四虎国产精品免费 | 激情综合网五月激情 | 99九九99九九九视频精品 | 免费的黄色av| 亚洲蜜桃在线 | 欧美日韩不卡一区二区 | av片子在线观看 | 午夜少妇一区二区三区 | 五月综合久久 | 精品国产一区二区三区久久久 | 97在线免费视频 | 国产成人精品国内自产拍免费看 | 国产午夜精品一区二区三区 | 亚洲精品在线二区 | 欧美日韩国产精品一区二区三区 | 国产裸体视频bbbbb | 在线中文字幕电影 | 99热在线国产 | 婷婷色网址| 亚洲精品成人网 | 精品色999| 国产视频在线看 | 午夜视频亚洲 | 久久久久亚洲精品 | 久艹在线观看视频 | 一区二区不卡在线观看 | 狠狠色丁香婷婷 | 亚洲视频2 | 国产精品毛片一区二区在线看 | 国产精品久久久精品 | 婷婷精品国产一区二区三区日韩 | 亚洲国产精品第一区二区 | 欧美日韩激情视频8区 | 夜夜躁狠狠燥 | 国外调教视频网站 | 日韩在线观看视频中文字幕 | 国产黄色资源 | 欧美激情精品久久久 | 久久综合狠狠综合久久综合88 | 久久久www免费电影网 | 91精品免费看 | 亚洲精品国产麻豆 | 91在线视频导航 | 91精品入口 | 免费观看91 | av中文字幕日韩 | 免费观看成年人视频 | 最新国产精品亚洲 | 欧洲性视频 | 欧美激情综合五月色丁香小说 | 精品 一区 在线 | 欧美污污网站 | 一区二区 精品 | 十八岁以下禁止观看的1000个网站 | 草久在线观看视频 | 亚洲国产黄色 | freejavvideo日本免费 | 欧美日韩综合在线观看 | 中文av一区二区 | 激情久久久久久久久久久久久久久久 | 亚洲狠狠婷婷综合久久久 | 日韩专区视频 | 国产在线 一区二区三区 | 婷婷射五月 | 日韩精品一区二区三区电影 | 国产97碰免费视频 | 欧美日韩在线观看一区 | 99视频在线免费 | 国产一级视频在线 | 欧美日韩xxx | 国产精品免费在线观看视频 | 国产高清在线不卡 | 六月丁香在线观看 | 日韩欧美视频免费在线观看 | 亚洲精品免费在线视频 | 国产手机精品视频 | www99精品 | 国产九色视频在线观看 | 久久试看 | 五月婷婷影视 | 欧美日韩视频网站 | 成人黄在线观看 | 免费观看一级视频 | 在线观看aa| 亚州精品国产 | 在线免费观看欧美日韩 | 欧美 亚洲 另类 激情 另类 | 五月激情丁香图片 | 国产精品美女久久久久久 | 国产精品久久婷婷六月丁香 | 亚洲伊人av | 波多野结衣在线观看一区二区三区 | 六月丁香激情综合 | 丁香六月婷婷综合 | 午夜精品视频在线 | 欧美a级成人淫片免费看 | 国产成人三级在线播放 | 综合色婷婷 | av免费试看| 日日躁你夜夜躁你av蜜 | 久久黄色a级片 | 国产福利精品一区二区 | 亚洲作爱视频 | 国产拍揄自揄精品视频麻豆 | 8x成人免费视频 | 国产亚洲精品xxoo | 亚洲国产999| 国产在线一区二区 | av免费看在线 | 久久综合免费视频影院 | 婷婷综合激情 | 在线观看日韩视频 | 成人高清在线 | 福利精品在线 | 伊人影院av | 国产91精品在线播放 | 欧美性久久久 | 96精品在线| 国产精品久久久久久久久久久久午夜片 | 亚洲老妇xxxxxx | 国产精品中文字幕在线播放 | 在线婷婷 | 日韩动态视频 | 美女av免费 | 精品黄色在线观看 | 97视频免费在线 | 国产麻豆精品久久一二三 | 久久在线免费视频 | 伊人久久影视 | 在线观看视频国产 | 五月婷婷综合在线 | 中文字幕资源在线 | 99久高清在线观看视频99精品热在线观看视频 | 久久蜜臀av | 国产不卡免费视频 | 欧美大荫蒂xxx | 久久久一本精品99久久精品 | 欧美一进一出抽搐大尺度视频 | 91视频在线观看大全 | 在线观看国产www | 麻豆视频在线免费看 | 欧美激情操 | 福利视频第一页 | 国产精品女视频 | 国产一区二区在线免费视频 | 国产精品手机在线 | 成 人 黄 色 免费播放 | 美女国产在线 | 99精品国产免费久久久久久下载 | 波多野结衣电影一区二区三区 | 欧美激情精品久久久久久免费 | 国产在线播放一区二区三区 | 免费亚洲一区二区 | 91精品国产自产在线观看永久 | 91探花国产综合在线精品 | 在线观看亚洲国产精品 | 久久久一本精品99久久精品66 | 国产精品高清在线 | 久久亚洲免费 | 国产午夜视频在线观看 | 综合色在线 | 夜夜干天天操 | 久久免费试看 | 日韩免费观看一区二区 | 欧美91片| www国产在线 | 又紧又大又爽精品一区二区 | 亚洲aⅴ一区二区三区 | 97国产超碰在线 | 国产精品一区久久久久 | 久久人人97超碰精品888 | 精品在线一区二区三区 | 午夜精品久久久久久久99婷婷 | 午夜久草 | 欧美一区二区在线免费看 | 香蕉视频网站在线观看 | 最近中文字幕mv | 99在线观看精品 | 九七视频在线 | 黄色三级av| 久久五月婷婷综合 | 日本精品午夜 | 最新黄色av网址 | 观看免费av| 欧美成人在线免费观看 | 狠狠久久 | 久久久国际精品 | 久久综合久久综合九色 | 日韩免费视频播放 | 九九九国产| 亚洲成av人片在线观看 | av在线免费不卡 | 日韩精品中文字幕一区二区 | 亚洲最大在线视频 | 国产精品高清在线观看 | 日本精品久久久久中文字幕5 | 亚洲jizzjizz日本少妇 | 热久久视久久精品18亚洲精品 | 免费av网站观看 | 日韩av资源站 | 久热这里有精品 | 久久成人午夜视频 | 成人av一级片 | 永久免费在线 | 美女黄网站视频免费 | 久久草在线精品 | 天天插天天| 久久精品79国产精品 | 综合在线观看色 | 天堂av免费观看 | 成人h视频| 一级黄色电影网站 | av一区二区在线观看中文字幕 | 午夜精品区 | 久久精品一区二区三 | 久久极品 | 亚洲精品在线免费观看视频 | 午夜三级福利 | 日本h视频在线观看 | 成人aⅴ视频 | 久久婷婷网 | 欧美日韩视频精品 | 六月婷婷久香在线视频 | 四虎在线永久免费观看 | 日本aa在线 | 97色在线观看 | 天天做天天干 | 色综合国产 | 久久精精品| 丁香六月欧美 | 香蕉视频在线免费 | 久久综合色播五月 | 婷婷综合电影 | 欧美极品xxxxx | 韩国av免费在线观看 | 国产高清成人 | 国产精品久久久久久久久岛 | 国产精品久久久久影院 | 极品久久久久久久 | 国产91精品一区二区绿帽 | 91完整版观看 | 免费福利在线 | 99情趣网视频| 操操综合 | 在线成人一区 | 亚洲女人天堂成人av在线 | 草在线视频 | 激情欧美丁香 | 中文字幕亚洲精品在线观看 | 激情影音 | 日韩色av色资源 | 五月天综合 | 国产精品电影在线 | 久草在线资源免费 | 亚洲日本va午夜在线影院 | 91成人小视频| 99久久久久 | 激情综合国产 | 久久久伦理 | 久久理论视频 | 久久成视频 | 久久国产精品久久w女人spa | 欧美精品免费视频 | 麻豆精品国产传媒 | 麻豆观看| 激情视频国产 | 欧美日韩免费在线观看视频 | 欧美久久久| 日韩大片免费在线观看 | 在线а√天堂中文官网 | 狠狠88综合久久久久综合网 | 亚洲 欧美 另类人妖 | 91麻豆看国产在线紧急地址 | 999成人网| 国产伦理一区 | 麻豆视频国产在线观看 | 国产超碰在线 | 国产精品久久久久久久电影 | 在线91av | 久久在现 | 中文字幕超清在线免费 | 欧洲性视频 | 久久天堂精品视频 | 亚洲 欧美 变态 国产 另类 | www99久久| 91精品在线看 | 六月丁香六月婷婷 | 中文字幕在线观看免费 | 日韩久久久久 | 亚洲伊人第一页 | 亚洲黄网址| 久久99视频免费观看 | 久久久久久久久久久免费视频 | 最近的中文字幕大全免费版 | 夜夜干夜夜 | 91精品对白一区国产伦 | 一区二区电影在线观看 | 免费看黄在线网站 | 国产精品久久久久久久久毛片 | 91色亚洲 | 国产高清在线视频 | 亚洲精品字幕在线观看 | 久久精品一二三区 | 开心激情五月婷婷 | 人人插人人草 | 久久人人爽人人人人片 | av片在线观看免费 | 久热色超碰 | 激情av网| 成人在线视频在线观看 | 久久久黄色av | 国产精品嫩草影视久久久 | 日本爱爱免费 | 久精品视频免费观看2 | 亚洲精品国产精品久久99 | 99精品视频中文字幕 | 97av视频在线观看 | 国精产品999国精产品岳 | 成人a在线观看高清电影 | 亚洲精品久久久久久久蜜桃 | 欧美亚洲三级 | 久久中文网 | 伊人伊成久久人综合网小说 | 亚洲综合色av | 人人澡人人爽欧一区 | 午夜精品福利一区二区 | 24小时日本在线www免费的 | 国产一区二区精品久久91 | 色www精品视频在线观看 | 久久经典视频 | 国产一级二级视频 | 国产精品免费一区二区 | 福利区在线观看 | 久久影视中文字幕 | 狠狠色伊人亚洲综合成人 | 日韩欧美高清一区二区三区 | 国产不卡一二三区 | 中文字幕超清在线免费 | 国产精品免费在线播放 | 国产高清在线观看av | 国产午夜精品一区二区三区欧美 | 成x99人av在线www | 亚洲成av人片一区二区梦乃 | 久久久免费 | 麻豆一二三精选视频 | 日韩中文字幕免费看 | 国产欧美精品一区二区三区 | 婷婷综合av | 99视频在线免费 | www.五月天色 | 国产 中文 日韩 欧美 | 美女黄久久 | 日韩av手机在线看 | 超碰人人91 | 亚洲综合在线视频 | 黄色a一级片 | 一区二区在线电影 | 久久国产精品视频 | 日韩精品专区在线影院重磅 | 国产中文字幕在线播放 | 欧美日本高清视频 | 婷婷中文字幕在线观看 | 中文字幕在线视频一区 | 欧美激情视频在线免费观看 | 国产一级二级三级视频 | 免费在线色视频 | 免费视频91蜜桃 | 日韩成人在线一区二区 | 九九热在线免费观看 | 欧美一级在线观看视频 | av成年人电影| 久久久久久久久影院 | 国产精品系列在线 | 碰超在线观看 | 91精品在线麻豆 | 五月天亚洲激情 | 国产美女在线免费观看 | 999久久久久久久久 69av视频在线观看 | 久久精品一二三区白丝高潮 | 国产精品免费观看国产网曝瓜 | 99视频在线免费播放 | 日日夜夜爱 | 国产精品淫片 | 91成人精品 | 一级片色播影院 | 米奇影视7777 | 制服丝袜天堂 | 在线观看va | 久久婷婷精品视频 | 日本激情动作片免费看 | 国产精品久久久久久影院 | 免费看的毛片 | 狠狠的日 | 国产在线观看91 | 日韩国产在线观看 | 天天av综合网| 天天综合网久久综合网 | 日本久久高清视频 | 狠狠操夜夜 | 色搞搞| 精品国产美女在线 | 亚洲精品在线观看免费 | 久久久91精品国产一区二区三区 | 麻豆av一区二区三区在线观看 | 91最新视频在线观看 | www.成人精品 | 免费又黄又爽 | 欧美最猛性xxx | 中文字幕国产一区 | 中文字幕精品一区二区三区电影 | 国产精品黄色 | 午夜成人免费影院 | 久草91视频| 天天天天天天天天操 | 欧美视频二区 | 天天射天天干天天 | 超碰在线人 | 99精品小视频 | 九九视频免费观看视频精品 | 欧美成人在线网站 | 国产小视频在线看 | 国产一级黄色电影 | 99视频久久 | 特黄色大片| 国产视频不卡一区 | 日韩爱爱网站 | 国产又黄又爽无遮挡 | 欧美一级专区免费大片 | 在线亚洲欧美视频 | www.看片网站 | 狠狠色婷婷丁香六月 | 久久国产免费看 | www.一区二区三区 | 天天插天天射 | 久久精品区 | 国产精品毛片久久 | 超碰在线97观看 | 午夜精品一二区 | 亚洲影音先锋 | 免费黄色网址网站 | 亚洲精品激情 | 91精品秘密在线观看 | 免费黄色一区 | 超碰99人人 | 中文字幕电影高清在线观看 | 中文字幕高清在线播放 | 天天射天天操天天色 | 91精选在线观看 | 久久免费成人精品视频 | 超碰成人免费电影 | 久久久久国产a免费观看rela | 久久精品久久99 | 欧美精品久久久久久久久免 | 九色在线视频 | 久久高清av | 99精品视频精品精品视频 | 国产精品美女免费 | 狠狠色丁香婷婷综合最新地址 | 国产精品一区在线观看你懂的 | 久久男人中文字幕资源站 | 九九爱免费视频 | jizz18欧美18 | 亚洲精品美女免费 | 欧美日韩亚洲在线 | 一区二区三区电影在线播 | 亚洲精品88欧美一区二区 | 91精品一区二区三区蜜臀 | 一区二区成人国产精品 | 超碰在线日本 | 欧美国产日韩一区二区三区 | 国产97视频在线 | 国产成人免费在线观看 | 日韩高清免费电影 | 国产精品高潮呻吟久久久久 | 久久人人精品 | 亚洲国产美女久久久久 | 菠萝菠萝在线精品视频 | 成人超碰在线 | 日韩高清在线看 | 久久综合九色综合欧美就去吻 | 久久69精品久久久久久久电影好 | 在线三级播放 | 日本久热 | 91福利视频免费观看 | 久久爱资源网 | 国产电影一区二区三区四区 | 在线免费成人 | 在线观看亚洲电影 | 免费福利在线视频 | 久久精彩| 中文字幕av播放 | 久久精品麻豆 | 亚洲一区精品二人人爽久久 | 99这里都是精品 | 四虎影视成人永久免费观看亚洲欧美 | 99精品免费在线观看 | 天天操天天拍 | 国产黄色一级片在线 | 欧美成人在线免费观看 | 99热在线精品观看 | 黄色的网站免费看 | 久久精彩 | 亚洲日本成人网 | 欧美激情第28页 | 久草精品在线播放 | 98涩涩国产露脸精品国产网 | 国产999久久久 | 波多野结衣精品视频 | 在线看污网站 | 久久久久久久久久久网站 | 人人爱人人做人人爽 | 91成人在线看 | 国产偷国产偷亚洲清高 | 色综合夜色一区 | 成年人黄色免费视频 | 久久久www成人免费毛片麻豆 | 精品一二三四五区 | 日韩av免费大片 | 国产精品丝袜久久久久久久不卡 | 久艹在线免费观看 | 色偷偷88888欧美精品久久 | 亚洲激情 在线 | 国产精品成人一区二区 | 麻豆免费在线播放 | 97超碰国产精品女人人人爽 | 久久久久在线视频 | 免费在线观看av网址 | 欧美精品被 | 日韩免费中文字幕 | 亚洲国产精品推荐 | 国产成人亚洲在线观看 | 亚洲视频免费在线观看 | 99色免费视频 | 日韩在线观看中文字幕 | www视频在线观看 | 精品欧美乱码久久久久久 | 日日干av | 欧美在线视频一区二区 | 日本精品久久久久 | 日韩有码在线播放 | 天堂麻豆 | 日韩丝袜视频 | 91传媒在线播放 | 日日躁你夜夜躁你av蜜 | 国产精品毛片久久久久久久久久99999999 | 91大片网站 | 91av欧美| 国产二区视频在线观看 | 久久亚洲影视 | 免费在线观看日韩欧美 | 成人a级网站 | 欧美一级久久久 | 欧洲激情综合 | 日韩综合色 | 久久久九色精品国产一区二区三区 | 国产天天爽 | 色爱区综合激月婷婷 | 国产黄色片一级三级 | 久久久久激情视频 | 一区二区三区国 | 国产精品久久久久久久久久久久午 | 亚洲少妇天堂 | 免费色视频网址 | 日韩大片免费在线观看 | 欧美亚洲国产一卡 | 日本黄区免费视频观看 | 日韩欧美在线一区二区 | 日韩成人黄色 | 国产成人黄色片 | 国产一区二区播放 | 手机成人av在线 | 久久婷婷综合激情 | 夜夜视频资源 | 久久9视频 | 中文字幕久久网 | 成人一级片免费看 | 免费视频一二三区 | www.狠狠插.com| 免费看一级 | 免费观看性生活大片 | 黄色三级久久 | 日韩高清不卡在线 | 久久一区二 | 久久综合干 | 久久久久久久久久久电影 | 欧美日韩高清一区二区 国产亚洲免费看 | 免费能看的黄色片 | 2020天天干夜夜爽 | 欧美性久久久久久 | 国产精品嫩草影院99网站 | 粉嫩av一区二区三区免费 | 色婷婷综合久久久久中文字幕1 | 国产精品久久久久久麻豆一区 | 欧美在线久久 | 在线免费性生活片 | 色婷婷播放 | 欧美极度另类性三渗透 | 午夜美女网站 | 久久精品永久免费 | 免费看精品久久片 | 狠狠久久综合 | 久久精品免费 | a电影在线观看 | 精品99在线视频 | 久草视频免费在线播放 | 久久久久久久久久久久亚洲 | 99色免费视频 | 欧美精品在线视频 | 99婷婷狠狠成为人免费视频 | 久久在线看 | 精品在线不卡 | 日本最大色倩网站www | 在线观看视频h | 中文视频在线播放 | 久久九九久久精品 | 国产日韩欧美在线影视 | 免费在线观看成人 | 日本在线观看一区二区 | 久久久av免费 | 九九九在线观看 | 果冻av在线 | 亚洲精品欧美视频 | 欧美va在线观看 | 成人毛片100免费观看 | 在线免费观看成人 | 欧美精品九九99久久 | 九色在线视频 | 国产拍在线 | 亚洲精品女人久久久 | av色综合 | 婷婷日| 免费久久精品视频 | 香蕉视频在线视频 | 久久歪歪 | 亚洲国产成人久久 | 91亚洲成人 | 久久久精品久久 | 一级性视频 | 97**国产露脸精品国产 | 国产一级片久久 | 中文字幕超清在线免费 | 成人av片在线观看 | 欧美乱大交 | 色偷偷中文字幕 | 永久免费视频国产 | 色午夜| 婷婷5月色 | 国产黄色片久久久 | 亚洲激情小视频 | 18岁免费看片 | 久草在线视频在线观看 | 四虎永久网站 | 日韩艹 | 成人9ⅰ免费影视网站 | 手机在线黄色网址 | 在线免费日韩 | 欧美性生爱 | 中文字幕精品www乱入免费视频 | 精品亚洲成a人在线观看 | 91精品一区二区三区蜜桃 | 国产视频精选 | 亚洲精品乱码久久久久久写真 | 夜夜澡人模人人添人人看 | 91亚色视频在线观看 | 九九av | 亚洲自拍偷拍色图 | 看片网站黄色 | 欧美日韩国产亚洲乱码字幕 | 激情影音 | 久久久久 免费视频 | 国产精品mv在线观看 | 91av视频免费观看 | 国产视频亚洲视频 | 久久a国产 | 国产精品一区二区三区视频免费 | 久久久激情网 | 国产成人综合在线观看 | 久久国产精品99久久久久久老狼 | 国产打女人屁股调教97 | 一区二区三区动漫 | 国产亚洲精品久久久久久移动网络 | 日韩免费看| 午夜在线免费观看视频 | 国产91精品久久久久 | 综合网色 | 色婷婷成人网 | 亚洲欧美成人综合 | 亚洲三级在线免费观看 | 亚洲成人av在线 | 丁香六月色 | 99热这里精品 | 奇米影视777四色米奇影院 | 亚洲精品一区二区三区在线观看 | 国产亚洲精品久久久久久网站 | 日韩免费福利 | 丁香婷婷综合网 | 午夜视频99| 午夜视频一区二区三区 | 成人影片在线免费观看 | 免费一级日韩欧美性大片 | 亚洲第一区在线观看 | 人人干人人爽 | 88av视频 | 亚洲国产精品va在线看黑人动漫 | 欧美色图狠狠干 | 在线观看www视频 | 丁香午夜 | 日韩精品久久久 | 瑞典xxxx性hd极品 | 99视频在线免费播放 | 91精品久久久久久综合五月天 | 国产又粗又猛又色又黄视频 | 天堂激情网 | 欧美日韩电影在线播放 | av高清在线观看 | 亚洲日本韩国一区二区 | 久久综合婷婷 | 日日操天天爽 | 亚洲经典视频 | 久久成人黄色 | 日韩电影在线一区 | 丁香六月在线 | 国产精品中文久久久久久久 | 欧美aa级| 波多野结依在线观看 | 在线观看91精品国产网站 | 日日躁夜夜躁aaaaxxxx | 亚洲丁香日韩 | 开心激情久久 | 欧洲一区精品 | 欧美va天堂va视频va在线 | 日韩电影一区二区三区在线观看 | 在线影院 国内精品 | 精精国产xxxx视频在线播放 | 欧美在线不卡一区 | 国产成人一区二区三区久久精品 | 亚洲国产视频a | 干干操操| 国产一级大片免费看 | 成人性生交大片免费看中文网站 | 亚洲精品免费在线视频 | 一本大道久久精品懂色aⅴ 五月婷社区 | 日本不卡一区二区三区在线观看 | 精品国内自产拍在线观看视频 | 日本系列中文字幕 | 国产成人精品一区二三区 | 国产99中文字幕 | 成人中文字幕+乱码+中文字幕 | 永久免费观看视频 | 国内外激情视频 | 黄色91在线| 成人午夜影院 | 婷婷色中文网 | 欧美精品午夜 | 免费高清在线观看电视网站 | 丁香花在线观看免费完整版视频 | www..com毛片 | 久久精彩免费视频 | 99精品免费在线 | 亚洲 av网站| 日韩手机视频 | 激情电影影院 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩av在线免费看 | 韩国精品视频在线观看 | aaa日本高清在线播放免费观看 | 亚洲欧美日韩国产一区二区三区 | 亚洲成年人免费网站 | www.97视频 | 国产精品久久久久久久久毛片 | 最近免费观看的电影完整版 | 久久国产精品成人免费浪潮 | 亚洲桃花综合 | 婷婷亚洲综合 | av成人在线播放 | 成年人黄色在线观看 | 国产成人精品免高潮在线观看 | 日韩欧美视频二区 | 麻豆传媒视频观看 | 欧美日韩一区二区三区在线观看视频 | 国产精品美乳一区二区免费 | 国产成人免费在线 | 成人在线黄色 | 国产在线播放观看 | 久草综合视频 | 亚洲成av | 13日本xxxxxⅹxxx20 | 伊人天天干 | 在线观看不卡的av | 91免费国产在线观看 | 人人超碰免费 | 日韩欧三级 | 久青草视频在线观看 | 日韩国产高清在线 | 国产成人精品一区二区三区在线 | 97人人艹| 在线观看国产成人av片 | 男女免费av | 亚洲成人免费观看 | 男女激情网址 | 亚洲综合涩 | 麻豆av一区二区三区在线观看 | 国产黄色片久久久 | 国产成人精品一区二区三区网站观看 | 在线免费观看亚洲视频 | 精品福利在线 | 国产成人精品一区二 | 欧美黄色成人 | 国产亚洲成人精品 | 国产在线观看免费观看 | 伊人五月天婷婷 | 午夜三级理论 | 久久爱导航 | 特片网久久 | 亚洲日本va午夜在线影院 | 国产又黄又爽无遮挡 | 色瓜| 天天操天天干天天玩 | 黄色在线免费观看网站 | 免费在线视频一区二区 | 久草国产在线观看 | 色多视频在线观看 | 午夜精品一区二区三区在线视频 | 日日碰狠狠添天天爽超碰97久久 | 国产在线观看网站 | 久久少妇| 欧美一级性生活片 | 国产福利小视频在线 | 国产精品久久久免费看 | 99久久精品日本一区二区免费 | 黄色大片视频网站 | 天天天干夜夜夜操 | 国产高清免费 | 在线观看日韩免费视频 | 97成人超碰 | 免费高清在线一区 | 日本精品久久久久久 | 玖玖在线精品 | 国产精品国产三级国产aⅴ无密码 | 丁香六月在线 | 在线看成人av| 国产91aaa| 国产精品免费不卡 | 黄色精品久久 | 欧美在线不卡一区 | 亚洲国产精品va在线看 | 久久精品99久久久久久 | 久久久精品网站 | 日韩首页 | 九七视频在线观看 | 97精品一区二区三区 | 亚洲爱爱视频 | 国产人成一区二区三区影院 | 国产精品久久久久9999 | 欧美午夜精品久久久久久浪潮 | 激情网综合 |