【问题标题】:HTTPS on Nodejitsu using Express使用 Express 在 Nodejitsu 上使用 HTTPS
【发布时间】:2013-05-10 02:36:45
【问题描述】:

好的。我在 express 上有一个应用程序,它也使用 Socket.io 并且可以通过 HTTP 正常工作。但是,现在我必须转向 HTTPS。 Nodejitsu 提供了很多这方面的文档。他们建议使用 node-http-proxy (https://github.com/nodejitsu/node-http-proxy)。很好!

来自 HTTP 的代码:

var server = http.createServer(app) // app is an Express instance
server.listen(config.port,config.hostip) // config.port is 80 for localhost and 3000 for Nodejitsu, config.hostip is 127.0.0.1 for localhost and 0.0.0.0 for Nodejitsu

我知道了:

var server = http.createServer(app)
var options = {
  https: {
    key: fs.readFileSync(__dirname+"/ssl/privatekey.pem", 'utf8'),
    cert: fs.readFileSync(__dirname+"/ssl/certificate.pem", 'utf8')
  }
}
httpProxy.createServer(config.port, config.hostip, options).listen(3001,config.hostip)
var proxy = new httpProxy.HttpProxy({
  target: {
    host: config.hostip, 
    port: config.port
  }
})
https.createServer(options.https, function (req, res) {
  proxy.proxyRequest(req, res)
}).listen(3002,config.hostip)
server.listen(config.port,config.hostip)

当我最终部署时(部署期间没有错误),我访问该页面并看到 502 错误 Socket hang up。好的,我可能做错了什么,所以我只是复制并粘贴来自https://github.com/nodejitsu/node-http-proxy“Proxying to HTTP from HTTPS”的示例以检查它是否有效。但它没有 - 502 错误。

它在我的本地主机上运行良好。我也尝试过在没有 node-https-proxy 的情况下启动独立的 HTTPS 服务器,但没有运气。请帮忙,我几周都解决不了这个问题。

【问题讨论】:

    标签: node.js express nodejitsu node-http-proxy


    【解决方案1】:

    我自己发现的。 Nodejitsu 默认提供 SSL,只需通过 HTTPS:// 访问您的站点。要让自定义域应用 SSL 证书,您需要订阅商业计划。

    【讨论】:

      猜你喜欢
      • 2012-07-29
      • 1970-01-01
      • 2017-09-20
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 2019-08-13
      • 2023-03-09
      相关资源
      最近更新 更多