【发布时间】:2020-08-18 04:16:12
【问题描述】:
我正在尝试在 Windows Server 上设置我的第一个 Node.js 应用程序。应用程序运行良好的命令:
节点索引.js
它将在 localhost:8000 上运行我的应用程序。但是,我希望它在端口 80 的子域上运行,所以我尝试了以下命令:
设置 PORT=80 && 设置 HOST=api.mydomain.com && 节点 index.js
这是我的 index.js 文件,它处理在 app.listen 命令中设置 PORT 和 HOST:
import express from 'express';
import bodyParser from 'body-parser';
const expressJwt = require('express-jwt');
const config = require('./environment.json')[process.env.NODE_ENV || 'development'];
const app = express();
const port = +process.env.PORT || 8000;
const host = process.env.HOST || 'localhost';
// Skipping app.use commands...
app.get('/', root);
app.listen(port, host, 34, err => {
if (err) return console.error(err);
return console.log(`Server is listening on ${port}`);
});
不幸的是,使用子域错误:
events.js:187 投掷者; // 未处理的“错误”事件 ^
错误:getaddrinfo ENOTFOUND api.mydomain.com 在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) 在服务器实例上发出“错误”事件: 在 GetAddrInfoReqWrap.doListen [作为回调] (net.js:1485:12) 在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:17) { errno: 'ENOTFOUND',代码:'ENOTFOUND',系统调用:'getaddrinfo',
主机名:'api.mydomain.com'}
将 Node.js 应用程序配置为在子域下运行的正确方法是什么?如果我使用 IIS,它就像添加额外的绑定一样简单,但现在我在 Node.js 领域,所以不知道如何去做。
【问题讨论】:
标签: node.js subdomain windows-server