在撰写本文时,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 服务器的端口公开给您的本地计算机,如下所示:
...
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