Am eliminat toate fișierele din /etc/nginx/sites-enabled/
director.
De asemenea, am eliminat toate fișierele din /etc/nginx/sites-available/
director.
Am un singur dosar /etc/nginx/conf.d/
numit numele-domeniul-meu.com.conf
si contine:
Server {
asculta 80;
nume_server numele-domeniul-meu.com www.numele-domeniul-meu.com;
returnează 301 https://$server_name$request_uri;
}
Server {
asculta 443 ssl;
nume_server numele-domeniul-meu.com www.numele-domeniul-meu.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
includ /etc/letsencrypt/options-ssl-nginx.conf;
Locație / {
proxy_pass http://localhost:4000;
}
}
Proxy traficul către un container docker care ascultă pe portul 4000.
Funcționează grozav pentru numele-domeniul-meu.com
și www.numele-domeniul-meu.com
.
Cu toate acestea, redirecționează și TOATE dintre subdomeniile mele care au fost definite în DNS.
Acesta nu este comportamentul dorit. Vreau doar ca acest fișier să servească aceste două domenii, nu mai mult.
Ce este în neregulă aici?
Actualizați:
Am adăugat un alt fișier, numit sudomain.my-domain-name.com.conf
și am adăugat această configurație în interiorul ei:
Server {
asculta 80;
nume_server subdomeniu.nume-domeniu-meu.com;
returnează 301 https://$server_name$request_uri;
}
Server {
asculta 443 ssl;
nume_server subdomeniu.nume-domeniu-meu.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
includ /etc/letsencrypt/options-ssl-nginx.conf;
Locație / {
proxy_pass http://localhost:3131;
}
}
Și nginx -t
arata succes si nginx -s reîncărcare
se aplica de asemenea. Dar din nou când merg la subdomeniu.numele-domeniul-meu.com
, în loc să primesc cel de-al doilea docker care rulează pe portul 3131, din nou sunt redirecționat către numele-domeniul-meu.com
pagină.