Это только один из возможных способов:
Сертификат первого выпуска с использованием certbot
.Вы получите пару *.pem
файлов.Существуют красивые руководства по установке и запуску certbot
на разных системах, я использовал Ubuntu с командой certbot --nginx certonly
.Вам нужно выполнить эту команду на вашем домене , потому что certbot
проверит, что вы являетесь владельцем домена по ряду проблем.
Во-вторых, вы создаете nginx
контейнеры.Вам понадобятся правильные nginx.conf
и ссылки на сертификаты для этих контейнеров.Я использую тома докера, но это не единственный способ.
Мой nginx.conf
выглядит следующим образом:
http {
server {
listen 443 ssl;
ssl_certificate /cert/<yourdomain.com>/fullchain.pem;
ssl_certificate_key /cert/<yourdomain.com>/privkey.pem;
ssl_trusted_certificate /cert/<yourdomain.com>/chain.pem;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
...
}
}
Наконец, вы запускаете nginx
с подключенными правильными томами:
docker run -d -v $PWD/nginx.conf:/etc/nginx/nginx.conf:ro -v $PWD/cert:/cert:ro -p 443:443 nginx:1.15-alpine
Примечание:
Я отобразил $PWD/cert
в контейнер как /cert
.Это папка, в которой хранятся файлы *.pem
.Они живут под ./cert/example.com/*.pem
Внутри nginx.conf
вы ссылаетесь на эти сертификаты с ssl_...
директивами
Вы должны выставить порт 443
для возможности подключения