【问题标题】:How to make a public node server如何制作公共节点服务器
【发布时间】:2018-01-25 20:46:39
【问题描述】:

好的,我已经为此搜索了几个小时,没有任何东西可以正常工作,所以我必须做错事。它在 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...');

这是我的端口转发配置:

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 地址仍然什么都没有。

我该如何解决这个问题?

【问题讨论】:

    标签: node.js server public


    【解决方案1】:

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

    【讨论】:

    • 怎么做,路由器设置里没有选项。我尝试在端口 80 上运行应用程序,但这只会导致错误,或者根本不起作用。
    • @JoshBeyer 我会先取消选中Use the same port range for Internal Port - 我猜一旦取消选中它会让你设置内部端口映射。
    • 我试过了,我把它设置为内部端口3000,它没有开始或结束的选项,它只是一个数字输入框。没用。
    • @JoshBeyer 因此,如果您直接导航到该端口上的内部 IP(假设您在网络上),您看不到您的网站吗? FWIW 这超出了本网站的范围,有一个专门用于网络问题的完整网站 - serverfault
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-05-08
      • 2011-03-24
      • 1970-01-01
      • 2016-09-13
      • 2018-09-11
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多