Сайт открывается только если явно указать порт после домена (nginx)
Подскажите, пожалуйста, почему мой сайт открывается только если я буду переходить по адресу boards.domain.ru:8000
либо 100.100.100.100:8000
(IP-адрес сервера). Любые другие комбинации (boards.domain.ru
, https://boards.domain.ru
, https://boards.domain.ru:8000
) приводят к отображению страницы ошибки Nginx (502 - Default Gateway). В логах (лежащих по пути /var/log/nginx/error.log
) есть следующая запись:
2023/01/27 13:51:11 [error] 2920#2920: *90 no live upstreams while connecting to upstream, client: 213.208.174.35, server: boards.domain.ru, request: "GET /favicon.ico HTTP/1.1", upstream: "https://focalboard/favicon.ico", host: "boards.domain.ru", referrer: "https://boards.domain.ru/"
Конфигурация виртуального хоста следующая:
upstream focalboard {
least_conn;
server localhost:8000;
keepalive 32;
}
server {
server_name boards.domain.ru;
location ~ /ws/* {
proxy_ssl_server_name on;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
proxy_read_timeout 1d;
proxy_pass https://focalboard;
}
location / {
client_max_body_size 50M;
proxy_ssl_server_name on;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_http_version 1.1;
proxy_pass https://focalboard;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/boards.domain.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/boards.domain.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = boards.domain.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name boards.domain.ru;
return 404; # managed by Certbot
}
Спасибо большое за любую помощь!
Источник: Stack Overflow на русском