1

我花了整整一夜的时间来弄清楚为什么我们的生产服务器有一个在我们的登台服务器中遗漏的错误。而今天早上,我终于缩小了范围,把它钉在了这段代码上:

url = [ database.protocol, '//' + database.host, database.port, ].join(':');
url = [ url, database.db ].join('/');

是的。这到底是怎么回事?好吧,在分期中它显示:

http://:localhost:5984/fo

但在主人它显示

http://:10.x.x.x:5984/fo (x is a number)

前者有效,但后者无效。这就是我对 URL 的了解让我失望的地方。前者到底如何有效,而后者无效?

编辑:

需要明确的是,我认为这两个 URL 都应该是无效的,这是一个应该在我的登台服务器中捕获的错误。我只想知道为什么前一个 URL (:localhost) 被解释为有效但后者不是。

4

1 回答 1

0

localhost是(几乎总是)127.0.0.1127.0.0.1非常不同10.x.x.x

如果服务器正在侦听localhost,则只会接收来自服务器本身的连接。因此,即使输入服务器的 IP 也不足以从外部连接到它。

确保服务器正在侦听其网络 IP,而不是环回。

于 2012-04-25T02:30:41.027 回答