我使用node.js创建了一个基本的Web服务器,它监听桌面上的端口3000。它提供静态HTML文件(实际上是jQuery移动文档)。
我可以使用http://127.0.0.1:3000/
访问本地主机(我的Windows 7桌面)上的网站。
我希望能够通过互联网从我的手机访问该网站。
有没有办法可以做到这一点?
答案 0 :(得分:2)
灵活的解决方案(不是用于生产,但是很简单,而且不需要配置路由器)正在使用localhost隧道服务,因为您在node.js上,已经有一个可用:
localtunnel。使用它:
反对在生产中使用它的推理:
答案 1 :(得分:1)
答案 2 :(得分:0)
查看路由器上的端口转发。将HTML请求的前端设置为3000.然后找出路由器的IP地址。
然后使用http://[routerIP]:port/
访问您的网站。
并祈祷你不要因为没有安全保护而打开那个端口而疯狂。
答案 3 :(得分:0)
我喜欢使用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";
}
答案 4 :(得分:0)
您要做的不是安全可靠的选择。
在您使用nodejs时,您是否考虑将应用程序部署为PaaS平台作为heroku.com?
列出的选项都是可用的,但不推荐:您需要使用外部服务来提供文件。