如何在本地主机上 运行 ESP (Extensible Service Proxy) 来模拟本地认证?

How to run ESP (Extensible Service Proxy) on localhost to simulate authentication locally?

当我在灵活环境中部署 Endpoints 时,基于 nginx 的代理(称为可扩展服务代理)会自动部署为实例中的容器,大部分用于日志记录和身份验证。

如何在本地开发服务器上 运行 ESP?

步骤:

  1. 我用 docker 代替 Windows https://docs.docker.com/docker-for-windows/
  2. 我在C盘根路径下创建了一个文件夹(C:/esp),然后我复制了serviceaccount.json到里面。 serviceaccount.json 持有具有以下角色的服务帐户的私钥:

    • 项目 -> 查看器
    • Cloud Trace -> Cloud Trace Agent
    • 服务管理 -> 服务控制器

ps:您需要向下滚动菜单才能找到第二个和第三个角色:)

3。关闭卡巴斯基,否则--volume C:/esp:/esp无法使用

  1. 如果你有卡巴斯基2017,进入设置->保护->防火墙->网络,然后右击Docker网卡和select"Edit",最后更改从 "public Network" 到 "Trusted Network".
  2. 通过 Docker 设置 GUI 启用 C 驱动器共享。
  3. 执行了命令:

    docker run --detach --name="esp" --publish 8082:8082 --volume C:/esp:/esp b.gcr.io/endpoints/endpoints-runtime:1 --service ****-backend-api.****-test.appspot.com --version 2016-12-06r1 --backend 10.0.75.1:8080 --service_account_key /esp/serviceaccount.json --http_port 8082

其中 10.0.75.1 是 docker NIC 的 IP,8080 是正在侦听的后端本地服务器。