Node.JS, Express и Heroku - как работать с HTTP и HTTPS?
У меня есть приложение, которое является вполне нормальным приложением Express - простая логика сервера, представления, множество JS на стороне клиента. Я должен сделать много запросов AJAX. Некоторые из них должны быть защищены протоколом HTTPS (некоторыет).
Итак, мой сервер должен работать как с HTTP, так и с HTTPS. Он также должен работать как на локальной машине (нормально работал с nodemon), так и на Heroku.
Насколько я понял, Heroku предоставляет вам один порт (process.env.PORT), который вы можете прослушивать, и обрабатывает все запросы через прокси (так что ваше приложение слушает этот порт и не беспокоится о прото-праве? )
Итак, я правильно понял - у меня должен быть какой-то другой код для dev-машины и Heroku?
подобно
...
app = express()
...
if process.env.NODE_ENV == 'production'
app.listen(process.env.PORT)
else
https = require('https')
http = require('http')
http.createServer(app).listen(5080) # some local port
options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem') # my self-signed files
}
https.createServer(options, app).listen(5443) # some different local port
Это правильный способ справиться с этим?