Я пытаюсь реализовать Nginx в качестве обратного прокси-сервера для обслуживания различных веб-приложений через субдомены и, похоже, не могу найти никаких дружественных руководств для начинающих о том, как это сделать.
Пример :
- cloud.mydomain.com => [локальный] 192.168.0.33:5000;
- web.mydomain.com => [локальный] 192.168.0.33:5001 ;
Идея состоит в том, чтобы открыть порты 80 и 443 на моем маршрутизаторе, а затем переслать все трафики c к обратному прокси-серверу, который затем обращается к соответствующему серверу (указанному через настройки поддоменов) на моем ЛВС и передает запрос обратно клиенту.
То, что я пробовал до сих пор (но безуспешно):
1) Отредактируйте файл default
в /etc/nginx/sites-available/
, чтобы посмотреть примерно так:
server {
listen 80;
server_name cloud.mydomain.com;
location / {
proxy_pass http://localhost:5000/;
}
}
server {
listen 80;
server_name node2.mydomain.com;
location / {
proxy_pass http://localhost:5001/;
}
}
Это приведет к тому, что ЛЮБЫЕ субдомены будут указывать на все, что я указал в первом блоке: (
2) Отключение файла по умолчанию, создание нового файла test.conf
под /etc/nginx/sites-available/
и связав его с /etc/nginx/sites-enabled/
(nginx -t
не сообщил об ошибках). Конфигурация была такой же, как указано выше.
Настройка: Я использую Ubuntu Server 19.10. У меня есть доменное имя, и я уже настроил субдомены как записи CNAME.
Примечание. Я не хочу использовать Nginx в качестве веб-сервера. Я пытаюсь использовать его для node.js веб-приложений, баз данных, моего nextcloud и т. Д. c.
Примечание 2. Сейчас меня интересуют только субдомены. Да, мне нужно будет добавить SSL-конфиги и тому подобное, но как только я пойму, как сделать правильные конфиги, я смогу все это выяснить, используя документы (надеюсь? Lol).