Цепочка приватных ключей SSL / TLS для поддержки нескольких сред - PullRequest
1 голос
/ 06 марта 2019

Могу ли я создать файл закрытого ключа SSL / TLS, который содержит несколько закрытых ключей, объединяя их в цепочку один за другим?

Таким образом, цепочка будет выглядеть примерно так:

-----BEGIN RSA PRIVATE KEY-----
.
.
9TvrBymCYT1AYhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABzg6jGPUo2oU6vl
cqKzgV8XpRqdKtzrI/2Bskxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
7ptgeHcEOtNhqmXgO+utKDrzG0ekpW3W+eCRBe6ncxGVIrk/2fglov9sWwolvVSr
.
.
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
.
.
9TvrBymCYT1AYhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxABzg6jGPUo2oU6vl
cqKzgV8XpRqdKtzrI/2Bskxxxffffffffffffffffffffffffffffffffffffffx
7ptgeHcEOtNhqmXgO+utKDrzG0ekpW3W+eCRBe6ncxGVIrk/2fglov9sWwolvVSr
.
.
-----END RSA PRIVATE KEY-----

Я пытаюсь создать образ докера nginx, который я могу использовать для любой среды (DEV, QA, UAT).И пытается избежать построения образа для самой среды.Ниже приведен Dockerfile

FROM nginx:1.15.0-alpine

RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d
COPY certs/nginxbundle-dev.crt /etc/ssl/nginx.crt
COPY certs/private_key_bundle.key /etc/ssl/nginx.key

Ниже приведен конф. Nginx.

upstream backendservice {
  server 0.0.0.0:8080;
}

server {
  location / {
        proxy_pass http://backendservice;
    }

  listen 443 ssl;
  server_name *.xyz.com;
  client_max_body_size 100M;
  ssl_certificate /etc/ssl/nginx.crt;
  ssl_certificate_key /etc/ssl/nginx.key;
}

Я думаю, что могу добавить сертификаты SSL / TLS для всех 3 сред в комплекте сертификатов /etc/ssl/nginx.crt.Но я не уверен, что подобная цепочка может быть сделана для private key.У меня есть 3 разных закрытых ключа для всех 3 сред.

1 Ответ

0 голосов
/ 06 марта 2019

Вы не можете сделать это. Объединение сертификатов в файл означает, что он должен предоставлять первый как листовой сертификат, а остальные как цепные сертификаты, то есть он не будет выбирать из файла только сертификаты для определенного хоста. Похоже, он будет ожидать, что файл ключа имеет только закрытый ключ, соответствующий листовому сертификату, в качестве первой записи. Он будет игнорировать любые другие записи в файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...