Can';t访问web服务器上的Node.js服务器

Can';t访问web服务器上的Node.js服务器,node.js,Node.js,我正在尝试在我的Web服务器上测试一个简单的Node.js服务器。问题是我无法从我的chrome浏览器访问Node.js服务器,我已经搜索过了,但没有成功 这是我的基本server.js脚本(服务器端) 当我在控制台中运行节点时,我得到了预期的结果 public_html$ node server.js Listening on port 3000 现在,当我尝试像这样访问URL时: 连接超时了,我什么也没得到 这使我无法使用$.ajax表单将数据发送到节点服务器,jquery请求也因连

我正在尝试在我的Web服务器上测试一个简单的Node.js服务器。问题是我无法从我的chrome浏览器访问Node.js服务器,我已经搜索过了,但没有成功

这是我的基本server.js脚本(服务器端)

当我在控制台中运行节点时,我得到了预期的结果

public_html$ node server.js
Listening on port 3000   
现在,当我尝试像这样访问URL时:

连接超时了,我什么也没得到

这使我无法使用$.ajax表单将数据发送到节点服务器,jquery请求也因连接超时而失败,因为无法访问带有nodejs端口的URL:3000

我的主机(Cloudways)似乎不允许访问任何端口。如果是这样,在这种情况下我能做什么


注意:我没有对服务器的root访问权限,他们无法为安全提供root访问权限。

实际上,通过Apache访问您的应用程序服务器,在您的情况下,nodeJs是避免安全漏洞等的标准方法。。您可以按如下方式配置Apache服务器:

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:3000/test/
  ProxyPassReverse / http://localhost:3000/test/
</VirtualHost> 

代理主机
代理请求关闭
服务器名www.example.com
ServerAlias example.com
ProxyPass/http://localhost:3000/test/
ProxyPassReverse/http://localhost:3000/test/
您将在或简单地在80处调用应用程序,这意味着HTTP和apache将为您调用


编辑:这也应该通过.htaccess来实现-这似乎是cloudways希望您做到的:

实际上通过Apache访问您的应用程序服务器,在您的情况下,nodeJs是避免安全漏洞等的标准方法。。您可以按如下方式配置Apache服务器:

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:3000/test/
  ProxyPassReverse / http://localhost:3000/test/
</VirtualHost> 

代理主机
代理请求关闭
服务器名www.example.com
ServerAlias example.com
ProxyPass/http://localhost:3000/test/
ProxyPassReverse/http://localhost:3000/test/
您将在或简单地在80处调用应用程序,这意味着HTTP和apache将为您调用


编辑:这也应该通过.htaccess来实现-这似乎是cloudways希望您做到的:

测试node.js的最佳方法是在您的服务器上使用node process manager。 这将为部署节省大量时间。但您需要root访问权限才能安装此软件包。如果您没有root访问权限,请要求您的主机提供商为您安装这些软件包。
如果在任何情况下,您都无法获得root访问权限,并且无法为您的项目打开端口并安装软件包。然后使用任何其他主机,如

测试node.js的最佳方法是在服务器上使用node process manager。 这将为部署节省大量时间。但您需要root访问权限才能安装此软件包。如果您没有root访问权限,请要求您的主机提供商为您安装这些软件包。
如果在任何情况下,您都无法获得root访问权限,并且无法为您的项目打开端口并安装软件包。然后使用任何其他主机,如

试试看,找到你的免费ip

npm安装查找可用端口--保存

然后保存它。htaccess

重新启动发动机

重写规则^$[p,L]

重写cond%{REQUEST_FILENAME}-f

重写cond%{REQUEST_FILENAME}-d

重写规则^(.*)$$1[p,L]


我的自由港是3000。然后加载您的www.example.com

尝试查找您的免费ip

npm安装查找可用端口--保存

然后保存它。htaccess

重新启动发动机

重写规则^$[p,L]

重写cond%{REQUEST_FILENAME}-f

重写cond%{REQUEST_FILENAME}-d

重写规则^(.*)$$1[p,L]


我的自由港是3000。然后加载您的www.example.com

听起来您需要一个新主机没有解决此问题的方法吗?很抱歉,这里是nodejs的新功能。如果主机只允许在特定端口(例如80或443)上进行外部连接,则您需要在该端口上运行node.js,或者在node.js前面设置一个Web服务器,将代理请求从80/443反向到3000。看来我确实需要一个新的主持人。。我已经试了几个小时没有成功。。它们也不允许在端口80上停止apache,因此我可以使用端口80上的节点。非常无用:/您有权在apache中创建虚拟主机吗?这就是将代理服务器反转到节点服务器所需的全部内容。听起来您需要一个新主机。没有任何解决此问题的方法吗?很抱歉,这里是nodejs的新功能。如果主机只允许在特定端口(例如80或443)上进行外部连接,则您需要在该端口上运行node.js,或者在node.js前面设置一个Web服务器,将代理请求从80/443反向到3000。看来我确实需要一个新的主持人。。我已经试了几个小时没有成功。。它们也不允许在端口80上停止apache,因此我可以使用端口80上的节点。非常无用:/您有权在apache中创建虚拟主机吗?这就是将代理服务器反转到节点服务器所需的全部内容。太棒了!我有一个担忧。这会不会影响nodejs的性能,因为我需要一个代理或网桥来处理请求,并且仍然需要使用Apache?我的意思是,这个解决方案会破坏使用nodejs的全部意义吗?在某些方面,Apache将通过允许您比nodejs更高效地服务静态资源来提高性能。谢谢!我刚刚发现cloudways也不允许访问apache配置。那么这段代码在.htaccess中还能工作吗?->尝试将“默认应用程序”设置到您的nodeJs URL。太棒了!我有一个担忧。这会不会影响nodejs的性能,因为我需要一个代理或网桥来处理请求,并且仍然需要使用Apache?我的意思是,这个解决方案会破坏使用nodejs的全部意义吗?在某些方面,Apache将通过允许您比nodejs更高效地服务静态资源来提高性能。谢谢!我刚刚发现cloudways并没有