大佬教程收集整理的这篇文章主要介绍了Node.JS,Express和Heroku-如何处理HTTP和HTTPS?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,这些天社区看起来已经死了(希望我错了)
答案是:
a)是的,这是处理它的方法
b)检查您是否处于安全模式的方式也取决于环境:
if process.env.NODE_ENV == 'production'
is_secure = (req) ->
req.headers['x-forWARDed-proto'] == 'https'
else
is_secure = (req) -> req.secure
如果您想强制使用httpS:
redirect_to_https = (req, res, next) ->
if not is_secure(req)
res.redirect config.SECURE_DOMAIN + req.url
else
next()
app
.use(redirect_to_https)
我有一个非常普通的Express应用程序-
简单的服务器逻辑,视图,许多客户端JS。我必须执行许多AJAX请求。其中一些需要通过httpS协议保护(某些不需要)。
因此,我的服务器应同时使用http和httpS。它也应该在本地计算机(正常运行nodemon)和Heroku上都可以工作。
据我了解,Heroku为您提供了一个您可以监听的端口(process.env.PORT),并通过代理处理了所有请求(因此,您的应用程序正在监听该端口,而无需担心协议-
是吗? )
所以,我说对了吗-我应该为开发机器和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
这是解决这个问题的正确方法吗?
以上是大佬教程为你收集整理的Node.JS,Express和Heroku-如何处理HTTP和HTTPS?全部内容,希望文章能够帮你解决Node.JS,Express和Heroku-如何处理HTTP和HTTPS?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。