РЕДАКТИРОВАТЬ. Оказывается, что моя настройка ниже работает. Раньше я получал перенаправления на порт 36000, но это было связано с некоторыми настройками конфигурации на моем бэкэнд-приложении, которое вызывало его.
Я не совсем уверен, но я считаю, что, возможно, мне захочется установить обратный прокси-сервер с помощью nginx.
У меня есть приложение, работающее на сервере с портом 36000. По умолчанию порт 36000 не является общедоступным, и я намерен для nginx прослушивать публичный URL-адрес, направлять любой запрос к URL-адресу приложению, запущенному на порту 36000. В течение всего этого процесса пользователь не должен знать, что его запрос отправляется в приложение, запущенное на моем сервере 36000.
Чтобы выразить это более конкретно, предположим, что мой url http://domain.somehost.com/
При посещении http://domain.somehost.com/ nginx должен забрать запрос и перенаправить его на приложение, уже запущенное на сервере на порте 36000, приложение выполняет некоторую обработку, и передает ответ назад. Порт 36000 не является общедоступным и не должен отображаться как часть какого-либо URL-адреса.
Я пробовал настройку, которая выглядит так:
server {
listen 80;
server_name domain.somehost.com
location / {
proxy_pass http://127.0.0.1:36000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
и в том числе внутри моего основного nginx.conf
Тем не менее, это требует от меня сделать доступным доступ к порталу 36000, и я стараюсь избегать этого. Порт 36000 также отображается как часть перенаправленного URL-адреса в веб-браузере.
Есть ли способ, которым я могу сделать то же самое, но без доступа порта 36000?
Спасибо.