Puncte:0

Rularea certbot pe o instanță ECS

drapel gh

Încerc să rulez certbot pe o instanță ECS care rulează o imagine docker (docker.io/existdb/teipublisher). Imaginea rulează bine și am asociat-o cu un subdomeniu personalizat teipub.dh-dev.com folosind un IP elastic.

Încercarea de a instala și de a rula certbot pentru a putea avea o conexiune Https s-a dovedit a fi surprinzător de dificilă.

rulând ca root, instalez nginx cu:

lista sudo amazon-linux-extras | grep nginx
sudo amazon-linux-extras activează nginx1
sudo yum clean metadate
sudo yum -y instalează nginx

apoi, urmând asta de la nginx eu creez /etc/nginx/conf.d/teipub.dh-dev.com.conf cu continutul:

Server {
    asculta 80 default_server;
    asculta [::]:80 default_server;
    rădăcină /var/www/html;
    nume_server teipub.dh-dev.com;
}

dar acum când alerg sudo nginx -c /etc/nginx/nginx.conf pentru a reîncărca noua configurație pe care o primesc introduceți descrierea imaginii aici

Ceea ce are sens pentru mine, deoarece atunci când am creat definiția sarcinii pentru a rula imaginea mea pe clusterul ECS, am folosit un portMapping între porturile gazdă 80 și 443 și containerPorts-urile corespunzătoare, ceea ce înseamnă că deja se ascultă ceva pe portul 80 (precum și 443). .

alergare sudo systemctl status nginx, sudo systemctl status httpd sau sudo systemctl status apache2 pe o instanță ECS EC2 curată care rulează imaginea docker nu poate găsi acele servicii. Deci nginx nu este instalat, cu atât mai puțin rulează înainte de a încerca să îl rulez.

Deci întrebarea mea este: nu există deja un server web pe instanța ECS? Ce este și pot instala certbot-ul pe el? Sau altfel, ce se ascultă pe portul 80?

Alternativ - există o modalitate diferită de a utiliza certbot pe o instanță ECS?

BTW, și nu cred că acest lucru este relevant, domeniul meu principal (dh-dev.com și www.dh-dev.com) permite conexiuni https, probabil printr-un certificat furnizat de furnizorul meu de găzduire.

===Actualizare===

în urma comentariului lui @dave_thompson_085, acum înțeleg (vezi imaginea de mai jos) că un proces numit docker-proxy ascultă pe porturile 80 și 443. De aceea nu pot folosi nginx pentru a configura certbot pe aceste porturi. Orice idee despre cum să progresezi este binevenită...

introduceți descrierea imaginii aici

dave_thompson_085 avatar
drapel jp
Spuneți „nginx nu este instalat”, dar ați făcut `sudo yum install -y nginx` care l-a instalat, deși TTBOMK singur nu ar fi trebuit să-l pornească. `httpd` și `apache2` NU sunt numele lui nginx; faceți `sudo systemctl status nginx` și îl veți vedea și vedeți dacă rulează.
drapel gh
@dave_thompson_085 ``sudo systemctl status nginx`` pe o instanță curată ECS EC2 produce ``Unitatea nginx.service nu a putut fi găsit``. Întrebare editată pentru a reflecta asta.
dave_thompson_085 avatar
drapel jp
nginx nu este instalat pe o instanță curată, dar este instalat după ce executați cele patru comenzi enumerate la „Instalez nginx cu” și înainte de a încerca (explicit) să-l rulați; acela este momentul despre care am crezut că vorbești. Oricum, face `sudo ss -antp | grep -e :80 -e :443` sau dacă preferați `netstat` în loc de `ss` pentru a vedea ce rulează de fapt pe acele porturi.
drapel gh
Mulțumiri! a rulat comanda ss și într-adevăr există un proces numit ``docker-proxy`` care ascultă pe porturile 80 și 443. Deci întrebarea rămâne, cum se poate folosi certbot (sau orice altă soluție de activare SSL) cu această configurare?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.