在 ECS 實例上執行 certbot

在 ECS 實例上執行 certbot

我正在嘗試在執行 docker 映像 (docker.io/existdb/teipublisher) 的 ECS 實例上執行 certbot。該圖像運行良好,我已將其與自訂子域關聯teipub.dh-dev.com使用彈性IP。

事實證明,嘗試安裝並執行 certbot 以便取得 Https 連線非常困難。

以 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 httpdsudo systemctl status apache2在運行 docker 映像的乾淨 ECS EC2 執行個體上找不到這些服務。因此,在我嘗試執行 nginx 之前,nginx 尚未安裝,更不用說運行了。

所以我的問題是:ECS實例上不是已經有一個Web伺服器了嗎?它是什麼?或者說,80埠正在監聽什麼?

或者 - 是否有其他方法在 ECS 實例上使用 certbot?

順便說一句,我認為這不相關,我的主域(dh-dev.com 和www.dh-dev.com)允許 https 連接,可能是透過我的託管提供者提供的憑證。

===更新===

根據 @dave_thompson_085 的評論,我現在明白(請參閱下圖)一個名為的進程docker-proxy正在偵聽連接埠 80 和 443。任何關於如何進步的想法都非常受歡迎...

在此輸入影像描述

相關內容