Bosh Lite cf-deployment VirtualBox 与 MITM 代理证书

Bosh Lite cf-deployment VirtualBox with MITM Proxy Certificate

我正在尝试通过 VirtualBox bosh-lite VM 在本地部署 CF,但我 运行 进入企业代理,在连接到 Internet 之前注入自签名证书。

我已经通过 SSH 连接到盒子并将 CA 添加到 OS 级别的受信任证书,但我仍然在链中获得不受信任的证书。

有什么地方可以将企业 CA 放入配置中,以便所有项目都能成功下载/安装?

BOSH 通过创建 "machines" 并安装适当的软件并将其 运行 部署到 "clouds"那些 "machines"。在像 Amazon Web Services 或 VMWare vSphere 这样的 "typical" 云上,"machine" 是一个典型的虚拟机。

BOSH 也可以像 Docker、Kubernetes 或 Garden 一样将各种容器 运行times 视为 "clouds",并且在 BOSH-Lite 案例,它将 Garden 定位为云。所以在 BOSH-Lite 的情况下,"machines" 实际上是 Linux 容器 运行 在 VirtualBox VM 中。因此,当您在 VM 的 OS 级别安装证书时,这不适用于 运行ning 作为 VM 中的容器。

BOSH 确实有一种使用 trusted_certs 属性 将可信证书注入其管理的每台机器的本机方法。假设您按照 these docs 安装了 BOSH-Lite,您可以从这里更新 create-env 命令:

bosh create-env ~/workspace/bosh-deployment/bosh.yml \
  --state ./state.json \
  -o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
  -o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
  -o ~/workspace/bosh-deployment/bosh-lite.yml \
  -o ~/workspace/bosh-deployment/bosh-lite-runc.yml \
  -o ~/workspace/bosh-deployment/uaa.yml \
  -o ~/workspace/bosh-deployment/credhub.yml \
  -o ~/workspace/bosh-deployment/jumpbox-user.yml \
  --vars-store ./creds.yml \
  -v director_name=bosh-lite \
  -v internal_ip=192.168.50.6 \
  -v internal_gw=192.168.50.1 \
  -v internal_cidr=192.168.50.0/24 \
  -v outbound_network_name=NatNetwork

对此:

bosh create-env ~/workspace/bosh-deployment/bosh.yml \
  --state ./state.json \
  -o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
  -o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
  -o ~/workspace/bosh-deployment/bosh-lite.yml \
  -o ~/workspace/bosh-deployment/bosh-lite-runc.yml \
  -o ~/workspace/bosh-deployment/uaa.yml \
  -o ~/workspace/bosh-deployment/credhub.yml \
  -o ~/workspace/bosh-deployment/jumpbox-user.yml \
  -o ~/workspace/bosh-deployment/openstack/trusted-certs.yml \
  --vars-store ./creds.yml \
  -v director_name=bosh-lite \
  -v internal_ip=192.168.50.6 \
  -v internal_gw=192.168.50.1 \
  -v internal_cidr=192.168.50.0/24 \
  -v outbound_network_name=NatNetwork \
  --var-file=openstack_ca_cert=</PATH/TO/YOUR/CERT>

这增加了两行:

-o ~/workspace/bosh-deployment/openstack/trusted-certs.yml
--var-file=openstack_ca_cert=</PATH/TO/YOUR/CERT>

尽管上面写着 openstack,但这些文件并没有特定于 OpenStack 的内容。第一行(使用 -o)修改 BOSH 的基本清单以包含用于设置 director.trusted_certs 属性 的部分,但实际上并没有设置值,它将其参数化为名为 openstack_ca_cert 的变量,第二行(带有 --var-file)实际上使用给定文件中的内容设置值。

在你运行那个命令之后,它将更新 BOSH-Lite,但它不会更新 BOSH 部署的东西,例如CF。您需要重新运行 CF 的部署命令以确保它选择那些受信任的证书。