Как Настроить Certbot С Nginx В Контейнере Docker?

  • Автор темы Pics054
  • Обновлено
  • 21, Oct 2024
  • #1

Название говорит само за себя, я думаю. Я даже не знал, что такое Ubuntu/Nginx/Docker/etc неделю назад, но мне удалось настроить Docker/Docker Compose, PHP-FPM, PHPMyAdmin + Gitlab на обратном прокси через Nginx с некоторым трудом. Мой репозиторий Github, документирующий мои шаги.

В принципе удалось сделать все, что я хотел, с точки зрения настройки. Последний шаг — настройка сертификатов SSL для моего сайта. Это было не так просто, как я надеялся, я не смог найти четких инструкций о том, что делать с настройкой Cerbot и его автоматическим продлением через Docker-контейнер. Во многих более коротких руководствах используются специальные образы докеров Certbot, и я не уверен, почему они отличаются, или у них есть специальные сценарии оболочки, которые создают фиктивные сертификаты и по какой-то причине удаляют их. Докер-хаб Certbot страница также лишена каких-либо официальных инструкций...

Любые указатели или инструкции будут очень признательны, спасибо.

#docker #nginx #certbot

Pics054


Рег
22 Aug, 2010

Тем
71

Постов
186

Баллов
581
  • 25, Oct 2024
  • #2

Ответил на мой собственный вопрос, задокументировал свои действия в репозитории Github.

Резюме:

Добавьте конфигурацию Nginx в нужные домены:

 
 
 sudo docker run -it --rm --v /some/place/to/save/letsencrypt:/etc/letsencrypt -v /some/place/to/save/lib:/var/lib/letsencrypt -v /some/place/to/have/html:/data/letsencrypt certbot/certbot certonly --webroot --email [email protected]
 

Используйте промежуточную версию certbot, чтобы опробовать тестовые сертификаты перед тем, как приступить к реальной сделке.

sudo docker run -it --rm -v /some/place/to/save/letsencrypt:/etc/letsencrypt -v /some/place/to/save/lib:/var/lib/letsencrypt -v /some/place/to/have/html:/data/letsencrypt certbot/certbot certonly --webroot --register-unsafely-without-email --agree-tos --webroot-path=/data/letsencrypt --staging -d example.com

Запустите настоящую вещь, как только будете готовы

location ~ /.well-known/acme-challenge { allow all; try_files $uri $uri/ /index.php; }

А затем добавьте в конфигурации Nginx перенаправление с http на https с расположением сертификатов ssl, обновив nginx в docker-compose.yml, чтобы иметь доступ к сертификатам. Немного подробнее об этом в моем репозитории.

 

МАльцева Анна


Рег
07 Apr, 2011

Тем
67

Постов
220

Баллов
555
  • 25, Oct 2024
  • #3

Я прошел один из направляет этот linuxserver.io опубликовано, чтобы начать изучение настройки SSL-шифрования. Я смог использовать их руководство, чтобы использовать свои собственные изображения и запустить Nginx с сертификатом SSL для моего сайта.

Автоматизация процесса сборки может оказаться сложной задачей, если вы не используете статический IP-адрес. Кроме того, если вам нужна возможность принимать внешний веб-трафик, вам придется работать с брандмауэром вашей организации.

 

Люссиль


Рег
15 Mar, 2019

Тем
82

Постов
204

Баллов
634
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно