IIS 7.5和node.js HTTP请求在VPS上工作,但不在VPS外部

问题描述:

我雇用了一个VPS(Windows Server 2008),目的是托管一个网站。所以我配置了IIS 7.5来运行一个html网站。IIS 7.5和node.js HTTP请求在VPS上工作,但不在VPS外部

$.get("http://localhost:3000/myfunction", function(data) { 
}); 

的VPS中,如果我去到Chrome浏览器中键入:该网站从3000端口,我得到的数据如下在同一个VPS运行一个小的Node.js应用程序读取数据(HTTP GET请求)本地主机它完美的作品。在另一方面,如果我插入HTTP调用不工作的VPS的IP地址......

铬合金JS控制台说:

Failed to load resource: net::ERR_CONNECTION_REFUSED http://localhost:3000/myfunction 

我需要Node.js的应用程序不能够从外部可见VPS,这样,在代码中的敏感数据不可达...

+0

你想让你的应用程序访问吗?看起来你是这么做的,但是你最后一段与你所说的相矛盾。至少,这是我读过的。你能澄清吗? – Brad 2014-11-14 20:44:07

+0

该应用程序只能访问该网站和VPS内部。该网站在内部执行对node.js应用程序的HTTP请求,并且网站外部显示模板+在对node.js应用程序的内部请求中获得的信息。我可以打开端口3000,并使node.js应用程序从外部可见。然后我不会看到ERR_CONNECTION_REFUSED错误,但node.js应用程序会暴露给攻击者,我想避免这种情况。这就是为什么我希望node.js应用程序停留在VPS内部并让网站HTTP调用获取所需的信息。我不知道这是否正确。 – Egidi 2014-11-14 21:13:44

+0

“网站”部分的功能是什么?你说你正在对你的Node.js应用程序进行服务器端调用,但是你为什么会在浏览器控制台中看到错误? – Brad 2014-11-14 23:56:51

我终于这个使用反向代理(IIS的ARR和URL重写),因为它是以下手册的说明来解决:

http://www.gitshah.com/2013/06/how-to-use-iis7-as-front-end-to-java.html