Nodejs Link Shortener - 使用API

时间:2014-04-21 14:41:01

标签: javascript node.js

使用基于短链接的链接重定向工具的新应用程序。该应用程序分为三个部分:

  1. 后台供客户登录并添加新的缩短链接(使用API​​)
  2. 接收请求的Nodejs应用程序(当有人点击缩短的链接时)并相应地重定向(使用API​​)
  3. API本身
  4. 我打算使用Basic Auth来保护API(这需要SSL连接以保持安全性)但我希望短网址是一个非安全的网址(http),如果客户希望它们。

    问题 如何保留短链接的http,但仍然可以与API建立安全连接,以查看短链接应重新定向到哪里?

    我可以在处理之前以某种方式将http转换为节点应用程序中的https吗?

    非常感谢任何帮助或建议。

    注意:我在Heroku上托管我的应用程序。

1 个答案:

答案 0 :(得分:1)

使用https时,如果客户端使用http连接,他将使用http。如果您想将其自动转换为https,请使用:

app.get('/api/*',function(req,res,next){
  if(req.headers['x-forwarded-proto']!='https')
    res.redirect('https://mypreferreddomain.com'+req.url)
  else
    next() /* Continue to other routes if we're not redirecting */
})

位于路线的顶部。 Heroku NodeJS http to https ssl forced redirect