Am o picătură proaspătă care rulează ubuntu 20.04. Folosesc acest server doar pentru a-mi găzdui API-ul, așa că încerc să-l transmit către api.example.com. Problema este că când mă vizitez https://api.example.com eu iau 502 Bad Gateway
totuși când vizitez http://example.com, primesc pagina de bun venit nginx. Am repornit deja nginx și am rulat asta sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
cu toate acestea, încă primesc eroarea. Am înregistrat și api.example.com și redirecționează către https, așa că sunt cam confuz cu privire la problemă. Jurnalele de erori nginx arată:
2021/11/21 03:31:57 [eroare] 8737#8737: *25 connect() a eșuat (111: Eroare necunoscută) în timpul conectării la upstream, client: ip-ul meu, server: api.example.com, cerere: " GET /favicon.ico HTTP/1.1”, în amonte: „http://127.0.0.1:3001/favicon.ico”, gazdă: „api.example.com”, referitor: „https://api.example.com /".
De asemenea, am serverul meu care rulează pe portul 3001.
Configurația mea nginx este:
Server {
asculta 80;
asculta [::]:80;
nume_server api.example.com;
Locație / {
proxy_pass http://localhost:3001;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Conexiune „upgrade”;
proxy_set_header Gazdă $gazdă;
proxy_cache_bypass $http_upgrade;
}
asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
asculta 443 ssl; # gestionat de Certbot
ssl_certificate /etc/letsencrypt/live/api.exmaple.com/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/api.exmaple.com/privkey.pem; # gestionat de Certbot
includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}
Server {
if($gazdă = api.example.com) {
returnează 301 https:$host$request_uri;
}
asculta 80;
asculta [::]:80;
nume_server api.example.com;
întoarce 404;
}
De asemenea, nu folosesc cloudflare, așa că nu cred că aceasta este o problemă dns. Orice ajutor ar fi apreciat.