Рейтинг:0

Как перенаправить мой поддомен на localhost: 5000 в Https с помощью Nginx?

флаг us

У меня проблема с моим nginx:

Мне нужно перенаправить весь трафик http и https, когда мои пользователи ищут «hermes.my-domain.com» на порт 5000 на моем сервере nginx, где находится мое приложение.

«Гермес» — это имя моего поддомена.

Итак, я делаю это:

сервер {

слушать 80;
имя_сервера hermes.мой-домен.com;

вернуть 301 https://hermes.my-domain.com$request_uri;
} 

сервер {

слушать 443;
ssl_certificate /etc/certs/ssl/bundle.crt;
ssl_certificate_key /etc/certs/ssl/server.key;

    место расположения / {
        proxy_pass http://localhost:5000;
        прокси_перенаправление выключено;
        proxy_set_header Хост $host:$server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Ssl включен;
    }
}

Каждый раз падаю на 502 ошибку.

Я не понимаю, что случилось...

если кто-то знает проблему, пожалуйста?

Большое спасибо !

Это мой результат из error.log:

Приношу свои извинения, это мой результат из error.log :

    24.11.2021, 09:09:44 [ошибка] 19384#19384: *332 connect() не удалось (111: Отказ в соединении) при подключении к восходящему каналу, клиент: 10.10.1.158, сервер: , запрос: "GET / HTTP/ 1.1", вверх по течению: "http://127.0.0.1:5000/", хост: "hermes.my-domain.com"

24.11.2021, 09:09:44 [ошибка] 19384#19384: *332 connect() не удалось (111: Отказ в соединении) при подключении к восходящему каналу, клиент: 10.10.1.158, сервер: , запрос: "GET / HTTP/ 1.1", вверх по течению: "http://[::1]:5000/", хост: "hermes.my-domain.com"

24.11.2021, 09:09:44 [ошибка] 19384#19384: *332 нет восходящих потоков при подключении к восходящему потоку, клиент: 10.10.1.158, сервер: , запрос: «GET /favicon.ico HTTP/1.1», восходящий поток : "http://localhost/favicon.ico", хост: "hermes.my-domain.com", реферер: "https://hermes.my-domain.com/"

Всем спасибо за помощь!

Paul avatar
флаг cn
Если это точная копия-вставка, обратите внимание, что в настоящее время у вас есть `location / {` и, вероятно, вы имеете в виду `location / {`. Часто nginx помещает что-то в error.log — возможно, вы могли бы опубликовать, если там что-то есть.
флаг us
Спасибо за ваш ответ. Я поставил пробел между "/{" в моем файле vhost, но результат тот же. И я добавляю вывод журнала, и вот результат: 10.10.1.158 - - [23/ноября/2021:17:16:17 +0100] "GET / HTTP/1.1" 502 568 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML) , например Gecko) Chrome/96.0.4664.55 Safari/537,36".
djdomi avatar
флаг za
обычно используйте «прослушивание 443 ssl» или «прослушивание 443 ssl http2»; никогда не читайте о ssl на
флаг us
Вышеприведенный вывод взят из `access.log`. Пожалуйста, отредактируйте вопрос и добавьте содержимое `error.log` при возникновении ошибки.
флаг in
`отказ в соединении` указывает на то, что ничего не прослушивает порт 5000. Убедитесь, что ваша служба работает и прослушивает правильный порт и интерфейс. Вы можете сделать это, запустив `ss -tnlp |grep :5000`.
флаг us
О, хорошо, если я правильно понимаю, проблема не в моем Vhost, а в том, что мое веб-приложение неправильно работает на моем порту 5000?
флаг in
Это возможность. Мы не можем сказать наверняка, не видя вывод указанной команды.
флаг us
Результат - ничего, я делаю тест на другом порту, который я знаю активным, и у меня есть результат, но для ss -tnlp |grep :5000 у меня ничего нет. Так что я думаю, что вы правы! И проблема больше в моем веб-приложении. Большое спасибо за ответ и помощь
Рейтинг:1
флаг in

Ваш сервер приложений не прослушивает порт 5000.

В соединении отказано указывает, что ничего не прослушивается на этом порту на этом интерфейсе.

Пустой вывод сс -tnlp |греп :5000 подтверждает, что на этом порту ничего не прослушивается.

Если ваш сервер приложений действительно работает, проверьте в его конфигурации правильный порт. Если он не запущен, запустите его.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.