将代理子域反向代理到同一台机器上的不同端口会抛出404

时间:2017-02-12 08:22:34

标签: node.js reverse-proxy diet-js redbird redwire

我尝试了<?php function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } echo sum(1, 2, 3, 4); ?> ,如:

redbird

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:3000http://36.154.99.115:3001来成功加载相应的网页,但当我尝试点击http://36.154.99.115:3003时,我得到的只是{{1 }}

我在控制台上获得以下日志:

http://www.example.com

看起来像是成功,但它实际上不起作用......

在3000,3001和3002上运行的服务器正在使用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} 并且有效。

1 个答案:

答案 0 :(得分:1)

Diet.js 似乎是这里的问题,尝试将网络服务器移植到 Express.js

或者,尝试使用 Express.js 或相对通用的东西创建示例应用程序并尝试重定向到它。如果有效(希望如此),你知道该怎么做。