NodeJS https超时

非营利组织

我想在HTTP和HTTPS上运行我的节点应用程序。我在实现的StackOverflow上找到了一些代码,但是当我想访问https://URL时出现超时通过HTTP的正常方式可以正常工作。当我想访问该https://站点时,在服务器控制台上没有看到任何错误尝试通过进行访问时,控制台上没有显示任何内容https://

该服务器在Amazon平台上运行。

编辑:启动服务器时,我将NODE_ENVvariabele设置为“生产”

sudo NODE_ENV=production forever start app.js

有人可以在这里看到我在做什么吗?

var env = process.env.NODE_ENV || 'development';
require('./config/config').set(env);//set configuration
console.log(env);
var config = require('./config/config').config;
var express = require('express');

var debug = require('debug')('juweliergids:server');
var http = require('http');

require('./config/mongoose');
/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(config.port);
var app = express();
var compact = require('./config/compact')(app, config);

require('./config/express')(app, config, compact);
require('./config/routes')(app, config, compact);
app.set('port', config.port);




/**
 * Create HTTP and HTTPS server.
 */
var httpServer = http.createServer(app);
httpServer.listen(port);
httpServer.on('error', onError);
httpServer.on('listening', onHttpListening);

if(env === 'production'){
  var https = require('https');
  var fs = require('fs');

  var privateKey = fs.readFileSync('/etc/letsencrypt/live/domain.com/privkey.pem');
  var certifcate = fs.readFileSync('/etc/letsencrypt/live/domain.com/fullchain.pem');

  var credentials = {
      key: privateKey,
      cert: certifcate,
      rejectUnauthorized:false
  }

  var httpsServer = https.createServer(credentials, app);
  httpsServer.listen(443);
  httpsServer.on('error', onError);
  httpsServer.on('listening', onHttpsListening);
}

/**
 * Normalize a port into a number, string, or false.
 */

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

/**
 * Event listener for HTTP server "error" event.
 */

function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  var bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port;

  // handle specific listen errors with friendly messages
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}

/**
 * Event listener for HTTP server "listening" event.
 */

function onHttpListening() {
  var addr = httpServer.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
   console.log('HTTP server is listening on ' + bind);
  debug('HTTP server is listening on ' + bind);
}

function onHttpsListening() {
  var addr = httpsServer.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
   console.log('HTTPS server is listening on ' + bind);
  debug('HTTPS server is listening on ' + bind);
}
罗伯特克莱普

超时通常表示防火墙问题,尤其是在您没有在日志文件中看到任何表明已建立连接的东西时。

因此,请检查您的防火墙是否允许进入端口443的传入连接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

并发100的NodeJS请求超时

来自分类Dev

NodeJS / MongoDB POST请求超时

来自分类Dev

Nodejs https 结合 cpanel

来自分类Dev

具有大量超时的NodeJS应用

来自分类Dev

NodeJS MySQL异常超时不是登录问题

来自分类Dev

NodeJS / Webpack Heroku部署的端口超时

来自分类Dev

mLab MongoDB 连接总是通过 NodeJS 超时

来自分类Dev

如何使用箭头符号设置 nodejs 超时?

来自分类Dev

Docker NodeJS Azure ServiceBus 服务锁定超时

来自分类Dev

NodeJS - 发出 HTTPS GET 请求

来自分类Dev

gitlab 6.5的HTTPS请求超时

来自分类Dev

设置HTTPS超时的正确方法

来自分类Dev

HTTPS请求连接超时(NGINX)

来自分类Dev

带有https nodejs模块的SOAP请求

来自分类Dev

HTTPS与NodeJS设置请求标头

来自分类Dev

使用NodeJS TLS套接字的HTTPS通信

来自分类Dev

nodeJS中的HTTPS模块的get方法

来自分类Dev

nodejs https服务器证书错误

来自分类Dev

在NodeJS上配置HTTPS以进行Watson对话

来自分类Dev

Nodejs https 请求 onData 事件多次触发

来自分类Dev

nodejs https请求中的证书问题

来自分类Dev

408 NodeJS应用程序中请求Github API超时

来自分类Dev

Kubernetes NodeJS打字稿超时?在minikube的快线上

来自分类Dev

连接到activemq artemis时使用nodejs stompit的连接超时

来自分类Dev

AWS Lambda使用NodeJs进行PostgreSQL-超时错误

来自分类Dev

NodeJs测试错误:超时超过2000ms

来自分类Dev

在超时结束连接之前发送响应(nodejs)

来自分类Dev

408在NodeJS应用中请求Github API的超时

来自分类Dev

PCF超时的Nodejs Mariadb未触发mariadb事件