无效的URL在登台服务器中工作但在生产中失败

时间:2012-04-25 02:27:22

标签: javascript url join

我花了一整夜的时间搞清楚为什么我们的生产服务器有一个错误,我们的登台服务器错过了。今天早上,我终于将其缩小并将其钉在了这段代码上:

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)被解释为有效但后者不是。

1 个答案:

答案 0 :(得分:0)

localhost(几乎总是)127.0.0.1127.0.0.110.x.x.x非常不同。

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

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