设置Cyber​​ark Conjur服务器

时间:2020-06-13 19:40:04

标签: docker cyber-ark

我已经在node.js中创建了一个项目,用于存储和获取Cyber​​ark Conjur的凭据(使用其REST-API) 但是,要测试该应用程序,我会尝试设置conjur服务器。

  • 问题是服务器在docker容器中运行良好,但是如何在(主机)外部访问它(端口映射不起作用)

  • 或者Internet上托管了任何conjur服务器以供公共使用

我只想测试API调用

1 个答案:

答案 0 :(得分:2)

截至撰写本文时,Conjur Node.js API 目前尚未得到积极支持。以下是测试 API 的一些建议。

我可以看看你用来启动 docker/docker-compose 文件的命令吗?

方法一

如果您使用 Conjur Quickstart Guide 中的设置,您的 docker-compose.yml 文件应该类似于:

...
conjur:
    image: cyberark/conjur
    container_name: conjur_server
    command: server
    environment:
      DATABASE_URL: postgres://postgres@database/postgres
      CONJUR_DATA_KEY:
      CONJUR_AUTHENTICATORS:
    depends_on:
    - database
    restart: on-failure

  proxy:
    image: nginx:1.13.6-alpine
    container_name: nginx_proxy
    ports:
      - "8443:443"
    volumes:
      - ./conf/:/etc/nginx/conf.d/:ro
      - ./conf/tls/:/etc/nginx/tls/:ro
    depends_on:
    - conjur
    - openssl
    restart: on-failure
...

这意味着 Conjur 在 NGINX 代理后面运行以处理 SSL,并且没有暴露在其运行的 Docker 网络外部的端口。通过此设置,您可以在本地计算机上的 https://localhost:8443 上访问 Conjur 服务器。

注意:您将需要位于 ./conf/tls/ 中的 SSL 证书。由于这是一个演示环境,因此可以很容易地进行这样的测试。

方法二

如果您不关心安全性并且只是纯粹测试 REST API 端点,您可以随时删除 SSL 并修改 docker-compose.yml 以将 Conjur 服务器的端口暴露给您的本地机器,如下所示:< /p>

...
conjur:
    image: cyberark/conjur
    container_name: conjur_server
    command: server
    environment:
      DATABASE_URL: postgres://postgres@database/postgres
      CONJUR_DATA_KEY:
      CONJUR_AUTHENTICATORS:
    ports:
      - "8080:80"
    depends_on:
    - database
    restart: on-failure

现在您可以通过 http://localhost:8080 与本地机器上的 Conjur 服务器通信。

更多信息:Networking in Docker Compose docs