1

わかった。Socket.io も使用し、HTTP 経由で正常に動作する Express のアプリがあります。ただし、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 が表示されます。OK、何か間違っている可能性があるので、https://github.com/nodejitsu/node-http-proxy「HTTPS から HTTP へのプロキシ」から例をコピーして貼り付け、動作するかどうかを確認します。しかし、そうではありません-502エラー。

ただし、私のローカルホストでは問題なく動作します。また、node-https-proxy なしでスタンドアロンの HTTPS サーバーを起動しようとしましたが、うまくいきませんでした。助けてください、何週間も解決できません。

4

1 に答える 1

2

自分で見つけました。Nodejitsu はデフォルトで SSL を提供します。HTTPS:// 経由でサイトにアクセスするだけです。カスタム ドメインで SSL 証明書を適用するには、ビジネス プランに加入する必要があります。

于 2013-05-16T08:47:17.290 に答える