API网关Kong实践笔记

Kong[nginx]-14 配置 letsencrypt S

2019-08-15  本文已影响16人  国服最坑开发

KONG专题目录


当我们的后端服务要发布到公网服务器里, 如果没有HTTPS支持, 那会显得很山寨,很Low.
Kong在安装的时候 , 也有相应的https支持, 但是它使用的证书是自签名证书, 也就是说, 在用户浏览器上依然显示为 不安全的 链接.

那么, 我们就需要为服务添加受信证书.

如果, 小伙伴们已经购买好了证书, 可以直接跳到最后一节配置部分.

0x01 前提

给后端配置ssl证书的前提是, 你的服务器已经取得了公网IP和对应的域名.
因为在letsencrypt 给我们颁发证书的时候 ,会有一步验证域名的操作.

0x02 过程

本文采用Star过万的Github项目acme.sh来进行证书申请过程. 使用体验极度舒适.

# 以root权限执行安装
curl https://get.acme.sh | sh

# 安装完成后, 会在/root/.acme.sh/目录下生成所有工作文件

注意:
安装过程中, 脚本会为我们添加一条crontab任务, 用于刷新证书(尚未验证

0 0 * * * "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null
acme.sh --issue -d example.com -w /app/nginx/www

其中,example.com 为需要申请的域名名称.
/app/nginx/www是nginx的主目录.

这个目录用途简单说一下:
在申请证书的过程中, acme 会在nginx的工作目录下生成一个随机文件,
然后 在证书发行服务器上, 再通过http方式去访问这个文件,去验证这个文件是否是同一个文件.
这样做的目的就是为了证明: 你确实拥有这个服务器的操作权限.

颁发过程
如果过程顺利的话, 会在/root/.acme.sh/域名/目录下, 生成一套相关证书文件.
其中, 对我们有用就是 域名.key域名.cer 这两个文件.

0x03 配置Kong的SSL证书

到这一步, 已经非常简单了, 直接修改/etc/kong/kong.conf

vim /etc/kong/kong.conf

找到这两行, 后面添加 证书的绝对路径.
#ssl_cert = 
#ssl_cert_key =
配置kong

配置完成后, kong restart, 重启一下服务 .

0x04 验证

通过查看Kong默认的https端口8443, 我们就可以看到此时证书已经生效.
可以在Chrome中查看证书的颁发者, 和有效时间, 大约是3个月.

效果图

好的吧, 那个 不安全的链接, 现在终于变安全啦, Nice ~~


KONG专题目录


上一篇下一篇

猜你喜欢

热点阅读