Рейтинг:0

Запуск certbot на экземпляре ECS

флаг gh

Я пытаюсь запустить certbot на экземпляре ECS, на котором запущен образ докера (docker.io/existdb/teipublisher). Изображение работает хорошо, и я связал его с собственным субдоменом. teipub.dh-dev.com с использованием эластичного IP.

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

работая от имени пользователя root, я устанавливаю nginx с помощью:

список sudo amazon-linux-extras | grep нгинкс
sudo amazon-linux-extras включить nginx1
sudo yum чистые метаданные
sudo yum -y установить nginx

затем, следуя это из нгинкс я создаю /etc/nginx/conf.d/teipub.dh-dev.com.conf с содержанием:

сервер {
    слушать 80 default_server;
    слушать [::]:80 default_server;
    корень /var/www/html;
    имя_сервера teipub.dh-dev.com;
}

но теперь при беге sudo nginx -c /etc/nginx/nginx.conf перезагрузить новую конфигурацию, которую я получаю введите описание изображения здесь

Это имеет смысл для меня, потому что, когда я создавал определение задачи для запуска своего образа в кластере ECS, я использовал сопоставление портов между hostPorts 80 и 443 и соответствующими контейнерными портами, что означает, что что-то уже прослушивает порт 80 (а также 443) .

Бег sudo systemctl статус nginx, статус sudo systemctl httpd или же sudo systemctl статус apache2 на чистом экземпляре ECS EC2, на котором запущен образ докера, не удается найти эти службы. Таким образом, nginx не установлен, не говоря уже о запуске, прежде чем я попытаюсь его запустить.

Итак, мой вопрос: разве на экземпляре ECS уже нет веб-сервера? Что это такое и можно ли на него установить certbot? Или еще, что прослушивает порт 80?

В качестве альтернативы есть ли другой способ использования certbot на экземпляре ECS?

Кстати, и я не думаю, что это имеет значение, мой основной домен (dh-dev.com и www.dh-dev.com) разрешает подключения https, возможно, через сертификат, предоставленный моим хостинг-провайдером.

===Обновление===

после комментария @dave_thompson_085 я теперь понимаю (см. изображение ниже), что процесс, называемый докер-прокси прослушивает порты 80 и 443. Вот почему я не могу использовать nginx для настройки certbot на этих портах. Любые идеи о том, как продвигаться вперед, приветствуются...

введите описание изображения здесь

dave_thompson_085 avatar
флаг jp
Вы говорите, что «nginx не установлен», но вы сделали «sudo yum install -y nginx», который установил его, хотя TTBOMK сам по себе не должен был его запускать. `httpd` и `apache2` НЕ являются именами nginx; выполните `sudo systemctl status nginx`, и вы увидите его и посмотрите, работает ли он.
флаг gh
@dave_thompson_085 ``sudo systemctl status nginx`` на чистом экземпляре ECS EC2 выдает ``Не удалось найти модуль nginx.service``. Отредактированный вопрос, чтобы отразить это.
dave_thompson_085 avatar
флаг jp
nginx не устанавливается на чистый экземпляр, но он устанавливается после выполнения четырех команд, перечисленных в разделе «Я устанавливаю nginx с помощью», и до того, как вы попытаетесь (явно) запустить его; это то время, о котором я думал, вы говорите. В любом случае, сделайте `sudo ss -antp | grep -e :80 -e :443` или если вы предпочитаете `netstat` вместо `ss`, чтобы увидеть, что на самом деле работает на этих портах.
флаг gh
Спасибо! запустил команду ss, и действительно существует процесс под названием «docker-proxy», прослушивающий порты 80 и 443. Таким образом, остается вопрос, как использовать certbot (или любое другое решение, поддерживающее SSL) с этой настройкой?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.