基于 nginx、openresty 的开源网关服务 kong 搭建 - 链滴


本站和网页 https://hacpai.com/article/1525765478649 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

基于 nginx、openresty 的开源网关服务 kong 搭建 - 链滴
链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
首页
标签
Gateway
NGINX
kong
基于 nginx、openresty 的开源网关服务 kong 搭建
本贴最后更新于 1690 天前,其中的信息可能已经物是人非
介绍
Kong 是一款基于 Nginx_Lua 模块写的高可用,易扩展由 Mashape 公司开源的 API Gateway 项目。由于 Kong 是基于 Nginx 的,所以可以水平扩展多个 Kong 服务器,通过前置的负载均衡配置把请求均匀地分发到各个 Server,来应对大批量的网络请求。
安装
kong 依赖 postgresql 或 cassandra 存储数据,cassandra 没玩过。我们装一下 pg 吧,这个还是比较常见的。
pg 安装
https://www.postgresql.org/download/linux/redhat/
按步骤执行即可
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum install postgresql10
yum install postgresql10-server
/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl enable postgresql-10
systemctl start postgresql-10
修改配置
允许外部访问
1、 修改 postgresql.conf
listen_addresses = 'localhost' 改为 listen_addresses = '*'
2、 修改 pg_hba.conf
在文件末尾加入:host all all 0.0.0.0/0 md5
修改密码
[root@localhost /]# su postgres
bash-4.2$ cd /usr/pgsql-10/bin
bash-4.2$ ./psql
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=#
创建 kong 用户
postgres=# CREATE USER kong WITH LOGIN PASSWORD 'kong';
CREATE ROLE
创建数据库
postgres=# CREATE USER kong WITH LOGIN PASSWORD 'kong';
CREATE ROLE
kong 安装
选择对应的系统下载,https://konghq.com/install/。我们使用 centos 系统的 rpm 进行安装。
因当前 kong-dashboard 不支持 0.13.x 以上版本,下载历史 rpm 版本https://bintray.com/kong/kong-community-edition-rpm/download_file?file_path=centos/7/kong-community-edition-0.12.3.el7.noarch.rpm
yum -y install kong-community-edition.rpm
kong 配置
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
修改 kong.conf
1、 #proxy_listen = 127.0.0.1:8000 改为 proxy_listen = 0.0.0.0:80
2、 #admin_listen = 127.0.0.1:8001 改为 admin_listen = 0.0.0.0:8001
3、 #pg_password = 改为 pg_password = kong 【postgresql 中创建的用户密码】
kong 启动
[root@localhost kong]# kong start
2018/05/08 03:28:19 [warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"
Kong started
kong-dashboard
访问 127.0.0.1:8001 可以管理我们的 kong 服务, 通过 dashboard 管理 kong 更直观。
安装
1、环境装有 nodejs/npm
[root@localhost kong]# node -v
v8.11.1
[root@localhost kong]# npm -v
5.6.0
2、npm install -g kong-dashboard
3、kong-dashboard start --kong-url http://127.0.0.1
管理
访问 127.0.0.1:8080 可以通过 kong-dashboard 进行管理
1、 api 接口创建
2、 创建 api 的处理插件
kong 支持的插件有很多, 有一小部分插件是收费的。
https://konghq.com/plugins/
Gateway
引用
回帖
NGINX
NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。
297
引用
539
回帖
296
关注
kong
引用
回帖
450370050
4 年前
北京
位置
5.7k
27
1.4k
183
432
118
86
82
3.3k
相关帖子
在 K8S 上使用 kong 做服务网关
[图片] 在 K8S 上使用 kong 做服务网关 Kong 是一个开源 API 网关和微服务管理层。Kong 基于 Nginx 和 lua-nginx-module(特别是 OpenResty),可插拔的体系结构使其灵活而强大。 网关的最主要的作用就是路由,各个服务的端口多且杂管理起来苦不堪言,所以有了网关来管理这些 ..
517
1 年前
Spring Cloud Gateway 2020.x 版本无法注入 Feign 服务和 RestTemplate 的问题
[图片] 问题描述 Spring Cloud Gateway 2020.x 版本无法注入 Feign 服务和 RestTemplate,注入要么报错,要么 IDEA 无法启动项目,一直转圈 问题相关代码 Feign 服务代码如下: @FeignClient(value = 'oauth') @Component pub ..
618
1 年前
Security 与响应式 WebFlux(二)
[图片] 实践 用 Security 其实可以有几种玩法,主要需要结合自己的业务,看自己的服务的位置是什么样 比如:角色是预置好不变的,还是未预置好可变的,权限是固定的还是不固定的,权限校验是页面级的还是接口级的,接口级权限是以角色为维度还是以权限为维度。 以业务为导向结合与利用框架达到自身的目地我认为还是比较重要的, ..
697
2 年前
Security 与响应式 WebFlux(一)
[图片] 前言 最近因为需求,进行了网关 gateway 的鉴权功能,gateway 网关中由于引入了 spring5.0 新支持的新特性 webflux,所以 security 与传统配置有了些许不同,配置方式结合业务也有几种方式,会分为几章为大家讲解一下。 WebFlux 响应式编程简介 [图片] 响应式 Web ..
1.2K
2 年前
http 网关,反向代理
闲来无事,写了一个简单的 http 网关系统,下面是该网关的一些介绍。 hgw hgw 是一套支持 http/https 协议的网关系统,由 gateway 服务、manager 服务构成。 开发初衷 产品开发过程中版本多次迭代,缺乏服务管理,通过网关系统的负载均衡转发 Api 请求 可以清晰了解到各个模块的请求情况, ..
1.2K
3 年前
nginx 通过不同的二级域名映射到不同端口下的应用
问题背景 假设有一台服务器,希望在上面启动三个应用程序,它们分别是: 官网首页,监听 80 端口 api 接口,监听 1357 端口 后台管理,监听 2468 端口 现在此三个应用程序都已启动,均可通过 IP + 端口 访问 其中,官网首页和管理后台都是纯前端的项目,build 之后就是一些静态页面,需要通过 ngin ..
77
3 个月前
centOS7 安装 nginx 及 nginx 配置
安装所需插件 安装 gcc gcc 是 linux 下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C 和 Java 等语言 命令:查看 gcc 版本 gcc -v 一般阿里云的 centOS7 里面是都有的,没有安装的话会提示命令找不到, 安装命令: yum ..
69
6 个月前
回帖
基于 nginx、openresty 的开源网关服务 kong 搭建
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册
关于
请输入回帖内容
...
450370050
交流群399287527 我的博客
北京
回帖
帖子
28
积分
745
介绍安装pg 安装修改配置允许外部访问修改密码创建 kong 用户创建数据库kong 安装kong 配置kong 启动kong-dashboard安装管理
API
关于
数据统计
靠爱发电
思源笔记订阅
2022 链滴
记录生活,连接点滴
滇ICP备14007358号-5 •
Sym
v3.6.4