У меня есть два сервера узлов, работающих на портах 3000 и 4000. Если бы у меня был запущен NGINX и я указал на него ngrok, есть ли способ перенаправить запросы из подпапок ngrok на каждый сервер узла? например, abc123.nrgok.io/a идет к порту 3000, abc123.ngrok.io/b идет к порту 4000. Существует несколько маршрутов для каждого узла сервера, а также несколько статических файлов html.
Ngrok › Nginx › локальные порты
Ответы (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
Означает ли это, что ваши два сервера узлов теперь не будут работать без третьего, который выполняет перенаправление? Должен быть способ сделать то же самое без изменения ссылок. Я пытаюсь перенаправить abc123.nrgok.io/a и abc123.nrgok.io/b на разные локальные IP-адреса, где у меня есть микроконтроллеры ESP32 с серверными прошивками.
- person Chupo_cro; 05.06.2021
Должно быть
pathRewrite: {'^/serverOne' : ''}
или pathRewrite: {'^/serverOne/' : '/'}
. При использовании pathRewrite: {'^/serverOne' : '/'}
в результирующем пути будет два символа /
.
- person Chupo_cro; 10.06.2021