如何通过互联网访问Web服务器?

我使用node.js创build了一个基本的web服务器,它监听我的桌面上的端口3000。 它提供静态HTML文件(实际上是jQuery移动文档)。

我可以使用http://127.0.0.1:3000/访问本地主机上的站点(我的Windows 7桌面)。

我希望能够通过互联网从我的手机访问网站。

有没有办法可以做到这一点?

       

网上收集的解决方案 "如何通过互联网访问Web服务器?"

灵活的解决scheme(不用于生产,但很容易,无需configuration路由器)使用本地主机隧道服务,因为您在node.js上,已经有一个可用的:

localtunnel 。 要使用它:

  1. npm install -g localtunnel
  2. 3000端口
  3. 分享它提供的url

推论在生产中使用它:

  1. 你依靠中介服务的善意。 客户将与这个“隧道”进行交stream,谁知道它是在嗅探敏感数据还是注入一些信息。 可能不会,但你永远不会得到保证。
  2. 这个隧道服务的停顿会影响你。 因为它是免费的,我希望服务质量和你付的钱一样高。
  3. 这些localhost隧道的总体思路是为了更容易的开发过程。 让你的朋友看到​​网站,并给予反馈没有太多的麻烦。 甚至可能违背他们的政策,通过隧道运行高负载的网站。

好吧,老问题,但对于未来我,你可以现在使用ngrok

将通道安全到本地主机

“我想把NAT或防火墙后面的本地服务器暴露给互联网。”

当然不是为了生产 ,而是为了发展webhooks而完美的!

查看路由器上的端口转发。 将HTML请求端口设置为3000.然后找出你的路由器的IP地址是什么。

然后使用http://[routerIP]:port/访问您的站点。

祈祷你不要为了开放那个没有安全感的港口而疯狂地被黑客攻击。

我喜欢用nginx,下面是一个例子。

 upstream app_myapp { server 127.0.0.1:8080; } server { listen 0.0.0.0:80; server_name www.myhost.com myhost.com; location / { auth_basic "Restricted"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://app_myapp/; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } 

你所要做的不是安全可靠的select。
当您使用nodejs时,是否考虑将您的应用程序部署为PaaS平台作为heroku.com?
列出的选项全部正常,但不推荐:您需要使用外部服务来提供文件。