ECSインスタンスでcertbotを実行する

ECSインスタンスでcertbotを実行する

私は、Docker イメージ (docker.io/existdb/teipublisher) を実行している ECS インスタンスで certbot を実行しようとしています。イメージは正常に動作し、カスタム サブドメインに関連付けました。teipub.dh-dev.com弾性 IP を使用します。

Https 接続を確立するために certbot をインストールして実行しようとすると、驚くほど困難であることがわかりました。

root として実行し、次のコマンドで nginx をインストールします。

sudo amazon-linux-extras list | grep nginx
sudo amazon-linux-extras enable nginx1
sudo yum clean metadata
sudo yum -y install nginx

その後、これはnginxから私は/etc/nginx/conf.d/teipub.dh-dev.com.conf以下のコンテンツを作成します:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name teipub.dh-dev.com;
}

しかし、sudo nginx -c /etc/nginx/nginx.conf新しい設定を再ロードするために実行すると、 ここに画像の説明を入力してください

これは私にとっては理にかなっています。なぜなら、ECS クラスターでイメージを実行するためのタスク定義を構築したときに、ホストポート 80 と 443 と対応するコンテナーポート間のポートマッピングを使用したからです。つまり、何かがすでにポート 80 (および 443) でリッスンしていることになります。

実行中sudo systemctl status nginxsudo systemctl status httpdまたはsudo systemctl status apache2Docker イメージを実行しているクリーンな ECS EC2 インスタンスでは、これらのサービスを見つけることができません。そのため、実行しようとする前に nginx は実行されていないどころか、インストールされていません。

そこで質問なのですが、ECS インスタンスにはすでに Web サーバーがあるのではないでしょうか。それは何ですか。それに certbot をインストールできますか。あるいは、ポート 80 でリッスンしているのは何ですか。

あるいは、ECS インスタンスで certbot を使用する別の方法はありますか?

ところで、これは関係ないと思うのですが、私のメインドメイン(dh-dev.comとホームページ) は、おそらくホスティング プロバイダーから提供された証明書を通じて、https 接続を許可します。

===更新===

@dave_thompson_085 のコメントに従って、呼び出されたプロセスがdocker-proxyポート 80 と 443 でリッスンしていることがわかりました (下の画像を参照)。そのため、nginx を使用してこれらのポートで certbot を構成することはできません。どのように進めればよいか、ご意見をお聞かせください...

ここに画像の説明を入力してください

関連情報