2017-08-17 83 views
0

好吧,我已经在这个小时搜寻了,没有任何工作应该这样,所以我必须做错了什么。它在localhost:port上工作正常,但我无法远程工作。如何制作一个公共节点服务器

这里是app.js

var http = require('http'); 
var express = require('express'); 
var app = express(); 

app.set('view engine', 'jade'); 
app.set('views', './views'); 

app.get('/', function(req, res) { 
    res.render('index', {title: 'Welcome', message: 'Hello ExpressJS!'}); 
}); 

app.listen(3000); 
console.log('Running Express...'); 

这里是我的端口fowarding配置:

Name: HTTP 
Service Type: TCP 
External Starting Port: 80 
External Ending Port: 80 
Use the same port range for Internal Port: [Checked] 
Internal IP Address: 192.168.1.11 (This is the pc I want to use) 

DNS配置

Name: Blank Type: A TTL: 300 Target: My Ip Address 
Name: WWW Type: A TTL: 300 Target: My Ip Address 

如果我使用www.mydomain.com我一无所获,如果我使用我的IP地址仍然没有。

我该如何解决这个问题?

回答

2

您的快递服务在端口3000上运行,而不是80。您需要将端口80上的传入流量转发到192.168.1.11:3000

+0

我该怎么做,路由器设置中没有选项。我尝试在端口80上运行应用程序,但这只是导致错误,或者根本不起作用。 –

+0

@JoshBeyer我会开始取消选中“为内部端口使用相同的端口范围” - 我的猜测一旦未选中,它会让您设置内部端口映射。 – James

+0

我试过了,我把它设置为内部端口3000,它没有开始或结束的选项,它只是一个数字输入框。不工作寿。 –

0

如果您安装了nginx,您可以轻松地将该端口代理到您想要从外部世界访问的域。