2017-02-12 11 views
1

Я попробовал свои руки на redbird как:Обратный прокси-соединения поддомены разных портов на той же машине, выбрасывает 404

var proxy = require('redbird')({port: 80}); 

proxy.register("http://www.example.com", "http://36.154.99.115:3000"); 
proxy.register("http://abc.example.com", "http://36.154.99.115:3001"); 
proxy.register("http://xyz.example.com", "http://36.154.99.115:3002"); 

и redwire как:

var RedWire = require('redwire'); 
proxy = new RedWire({http: { port: 80 }}); 

proxy.http("http://www.example.com", "http://36.154.99.115:3000"); 
proxy.http("http://abc.example.com", "http://36.154.99.115:3001"); 
proxy.http("http://xyz.example.com", "http://36.154.99.115:3002"); 

я могу ударить http://36.154.99.115:3000, http://36.154.99.115:3001 и http://36.154.99.115:3003 к успешно загрузите соответствующие веб-страницы, но когда я пытаюсь нажать http://www.example.com, все, что я получаю, это 404 host not found.

я получаю следующий журнал на моей консоли:

{"name":"redbird","hostname":"ip-172-31-23-160","pid":3239,"level":30,"msg":"Proxying www.example.com/ to www.example.com:3000/","time":"2017-02-12T08:07:57.540Z","v":0} 

, который выглядит, как успех, но это на самом деле не работает ...

серверы, работающие на 3000, 3001 и 3002 используют DietJS если это имеет значение ...

Примечание: Я пробовал proxy.register("http://www.example.com", "http://www.facebook.com"), и это сработало.

ответ

1

Diet.js, кажется, проблема здесь, попробуйте портировать веб-сервер для Express.js.

В качестве альтернативы попробуйте создать образец приложения с Express.js или что-то относительно общее и попробуйте перенаправить его. Если это работает (что, надеюсь, будет), вы знаете, что делать.

+0

Боль, вызванная 'DietJS', была намного больше, чем легкость, которая мне предоставляла ... –