【问题标题】:How to access meteor app from outside without passing through NginX?如何在不通过 NginX 的情况下从外部访问流星应用程序?
【发布时间】:2018-05-12 09:09:29
【问题描述】:

我在 Ubunu Linux 机器上托管一个流星应用程序。该应用程序正在侦听端口 3000。如果我使用网络服务器(如 NginX)并将 HTTP 请求从端口 80 转发到 3000,我可以从外部浏览到服务器并查看应用程序。但是,当我尝试直接在端口 3000 访问应用程序时,即浏览 http://myhost:3000,它只是尝试连接并且没有任何反应。

我已确保所有防火墙都已关闭,并且应用程序正在侦听所有接口,即0.0.0.0:3000,所以这不是问题。

为了验证端口实际上是可访问的,我创建了一个简单的节点 js 网络服务器:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write('Hello World!');
  res.end();
}).listen(3000);

现在浏览到服务器,我可以看到"Hello World!"。所以很明显这行得通,所以为什么我无法访问流星与防火墙或未打开的端口无关。

因此,尝试直接在端口 3000 访问流星应用时似乎有些奇怪。但是为什么呢?我使用以下环境变量:

export MONGO_URL=mongodb://localhost:27017/meteor
export HOST=myhost
export PORT=3000
export ROOT_URL=http://myhost

那么我错过了什么?端口是打开的,当我运行netstat -tulpan 时,我可以看到node 进程实例正在侦听端口3000

【问题讨论】:

标签: node.js nginx meteor


【解决方案1】:

我正在使用force-sslmeteor 包,它可以在没有端口号的情况下重定向回ROOT_URL。因此解决方案是删除包以使其与自定义端口一起使用。

我在流星论坛上讨论了解决方案,我得到了解决方案: https://forums.meteor.com/t/can-not-access-meteor-app-without-passing-through-nginx-server/40739/11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多