织梦CMS - 轻松建站从此开始!

abg欧博官网|登陆|游戏|

Kong入门学习实践(6)HTTPS与TCP流代理

时间:2024-06-12 08:56来源: 作者:admin 点击: 43 次
最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版。

最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版。

本篇,我们学习快速配置HTTPS跳转 与 TCP流代理。

HTTPS跳转配置

HTTP协议虽然应用广泛,简单易用,但存在着巨大的安全隐患,容易被抓包劫持和修改,尤其对于敏感信息的传递是十分不安全的。而HTTPS则通过数字证书、加密算法和非对称加密算法等技术对信息进行了加密,进而提高了一定的安全性。

在实际场景中,如果我们需要设置HTTP请求自动跳转到HTTPS的跳转,在Kong中只需要将对应路由的配置做以下两个修改即可:

(1)将Https Redirect Status Code改为301,即Moved Permanently永久重定向。

(2)将Protocols设置仅为https。

TCP流代理

Kong不仅可以针对第七层即应用层的HTTP代理,还可以对第四层即传输层进行TCP代理。默认情况下,流代理是关闭的,需要我们手动的打开

这里,我们调整一下docker-compose.yml文件中kong服务的参数,添加tcp流监听,这里我们设置的是7000端口来监听tcp流:

代码语言:javascript

复制

####################################### # Kong: The API Gateway ####################################### kong: image: ${KONG_DOCKER_TAG:-kong:latest} restart: on-failure networks: - kong-net environment: KONG_DATABASE: postgres KONG_PG_HOST: kong-database KONG_PG_DATABASE: kong KONG_PG_USER: kong KONG_PG_PASSWORD: ${KONG_PG_PASSWORD:-kong} KONG_PROXY_LISTEN: 0.0.0.0:8000 KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443 KONG_ADMIN_LISTEN: 0.0.0.0:8001 KONG_ADMIN_LISTEN_SSL: 0.0.0.0:8444 KONG_STREAM_LISTEN: 0.0.0.0:7000 # 新增内容 depends_on: - kong-database healthcheck: test: ["CMD", "kong", "health"] interval: 10s timeout: 10s retries: 10 ports: - "7000:7000" # 新增内容 - "80:8000" - "8001:8001" - "443:8443" - "8444:8444"

修改完成之后,重新启动kong:

代码语言:javascript

复制

docker-compose up -d

这里,我们假设有一个MongoDB服务,我们需要设置客户端统一通过Kong来访问MongoDB服务,即使用Kong的TCP流代理来做转发。这在内网访问DB的场景中还是比较常见的。

首先,我们的服务器172.16.16.4上面有一个MongoDB服务,它的端口号是27017,我们可以通过客户端连接到MongoDB中。

现在,我们来用Kong来做MongoDB服务的代理。

首先,创建一个Service,取名为:mongodb-tcp-service,并设置Protocol为tcp。

随后,添加一条路由,取名为:mongodb-tcp-route。

这里,需要注意的是Sources的配置,一般情况下,我们对生产环境的数据库客户端访问通常是开白名单的方式,也就是指定IP地址才能访问。这里,为了方便测试,我们设置为0.0.0.0/0即所有客户端IP都可以访问。

配置完成后,便可以在客户端通过连接Kong的7000端口访问MongoDB数据库了。

测试一下,连接成功!

此外,我们还可以把上游的mongodb节点配置成upstream,这样就可以实现负载均衡的效果。这里就不再演示了,有兴趣的童鞋可以自己去试一试。

参考资料

闫观涛,《Kong入门与实践-基于Nginx和OpenRestry的云原生微服务网关》

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-05-18 10:05 最后登录:2025-05-18 10:05
栏目列表
推荐内容