Ngrok › Nginx › локальные порты

У меня есть два сервера узлов, работающих на портах 3000 и 4000. Если бы у меня был запущен NGINX и я указал на него ngrok, есть ли способ перенаправить запросы из подпапок ngrok на каждый сервер узла? например, abc123.nrgok.io/a идет к порту 3000, abc123.ngrok.io/b идет к порту 4000. Существует несколько маршрутов для каждого узла сервера, а также несколько статических файлов html.


person jperry1147    schedule 12.04.2020    source источник


Ответы (1)


В конце концов я отказался от NGINX и вместо этого запустил сервер третьего узла, на котором только что было запущено http-proxy-middleware. Казалось, что это работает намного лучше, но мне нужно было изменить ссылки в обоих приложениях, чтобы они указывали на подпапку, а затем переписать заголовок на новом сервере Node (например, все ссылки перешли из style.css в /serverOne/style.css). а затем промежуточное ПО прокси удаляет бит /serverOne). Код ниже для третьего сервера Node.

const http = require('http'),
    express = require('express'),
    { createProxyMiddleware } = require('http-proxy-middleware')
const app = express()

app.use('/serverOne', createProxyMiddleware({target:'http://localhost:4000', changeOrigin: true, pathRewrite: {'^/serverOne' : '/'}}))
app.use('/serverTwo', createProxyMiddleware({target:'http://localhost:3000', changeOrigin: true, pathRewrite: {'^/serverTwo' : '/'}))

app.listen(2000);
person jperry1147    schedule 22.04.2020
comment
Означает ли это, что ваши два сервера узлов теперь не будут работать без третьего, который выполняет перенаправление? Должен быть способ сделать то же самое без изменения ссылок. Я пытаюсь перенаправить abc123.nrgok.io/a и abc123.nrgok.io/b на разные локальные IP-адреса, где у меня есть микроконтроллеры ESP32 с серверными прошивками. - person Chupo_cro; 05.06.2021
comment
Должно быть pathRewrite: {'^/serverOne' : ''} или pathRewrite: {'^/serverOne/' : '/'}. При использовании pathRewrite: {'^/serverOne' : '/'} в результирующем пути будет два символа /. - person Chupo_cro; 10.06.2021