美文网首页API网关Kong实践笔记
Kong[nginx]-14 配置 letsencrypt S

Kong[nginx]-14 配置 letsencrypt S

作者: 国服最坑开发 | 来源:发表于2019-08-15 20:24 被阅读16次

    KONG专题目录


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

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

    • 从阿里云等云服务商那里购买证书
    • 采用letsencrypt 等免费受限证书

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

    0x01 前提

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

    0x02 过程

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

    • acme安装
      root权限, 进行在线安装.
      完成后, 用于证书生成的命令就是 /root/.acme.sh/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专题目录


    相关文章

      网友评论

        本文标题:Kong[nginx]-14 配置 letsencrypt S

        本文链接:https://www.haomeiwen.com/subject/qvetsctx.html