Это базовый запрос, я отвечу на него в общем, поскольку пользователь не предоставил достаточно информации, чтобы быть более точным. НАПОМИНАНИЕ: Итак, это ответит на него в целом.
Предварительная информация
Пользователь говорит, что он хочет слушать или порт 5000 для https
Стандартный редирект с http на https
сервер {
имя_сервера *.домен.tld домен.tld;
# прослушать порт 80
слушать 80;
#перенаправить на https
вернуть 301 https://$host$request_uri;
}
Слушайте NGINX на порту 5000
сервер {
имя_сервера *.домен.tld домен.tld;
# прослушать порт 5000, http
слушать 5000;
#добавьте сюда что-нибудь
}
Стандартная директива https Server, использующая Certbot для генерации сертификата
сервер {
# прослушать 443 для SSL (https) с http 1.0/1.1
#прослушивание 443 ssl;
# Слушайте на 44 для SSL (https) с http 2
слушать 443 ssl http2;
#Что мы слушаем для домена
имя_сервера *.домен.tld домен.tld;
место расположения / {
корень /var/www/vhosts/domain.tld;
}
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # под управлением Certbot
}
Базовое прослушивание обратного прокси-сервера через порт 80 http И порт 443 SSL
сервер {
# слушать на 80 для https с http 1.0/1.1
слушать 80;
#прослушивание 80 для https с http 2 (отключено, certbot не понимает его на порту 80)
#слушай 80 http2;
# прослушать 443 для SSL (https) с http 1.0/1.1
#прослушивание 443 ssl;
# Слушайте на 44 для SSL (https) с http 2
слушать 443 ssl http2;
#Что мы слушаем для домена
имя_сервера *.домен.tld домен.tld;
место расположения / {
прокси_пароль http://127.0.0.1:5000;
#https даже работает
#proxy_pass https://127.0.0.1:5000;
proxy_set_header Хост $http_host;
}
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem; # управляемый
Сертбот
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem; # управляемый
Сертбот
}
Выводы
Если вы хотите получить доступ к своему серверу на порту 5000, вы должны использовать proxy_pass
, если вы хотите, чтобы NGINX слушал порт 5000, если он не используется, слушайте слушать 5000 ssl;
Кроме того, как уже говорили другие, SSL - это протокол, который не привязан к определенному порту, обычно используется 443, но он не должен его слушать, я также мог бы использовать для него 61337.
Я обновлю ответ на случай, если ОП обновит вопрос.