使用SSL/TLS确保前端JS应用程序和Rails API通信



我有一个带有代币身份验证的Rails JSON API,以及使用Backbone.js的静态前端客户端(可从其他Rails Server提供)。

我正在考虑如何确保前端和API之间的通信,因为在浏览器表单的注册/登录期间将发送纯文本凭据,并且授权标题在每个请求中发送了auth Token。

我正在考虑在Rails API服务器上强制SSL(带有NGINX或PUMA/乘客配置)。

我的理解是正确的吗,只要通过HTTPS通过浏览器前端应用进行呼叫,从运行JS代码到Rails API的浏览器的连接将被加密?

我是否需要机构的签名证书,或者是一个自我签名的证书就足够了吗?由于实际的前端代码来自与API不同的服务器(很可能不使用HTTP),并且只有JS代码中的其余呼叫将(据称是)确保,我可以在中获得温暖而模糊的URL bar锁定这种情况?

  1. 当您建立https连接时,您是权利的权利。
  2. 如果您使用自签名证书或Verisign签名的证书,例如,您的目的和使用API的用法。

两者都对犯罪分子有效,但是如果浏览器本身调用API,则自我签名将引起问题。例如,您无法告诉JQuery建立基于自签名证书的SSL连接,因此它无法使用。如果您仅在自己的库中使用API服务器,则它对库停用证书验证的可能性有所了解。

从安全性看上去是一个自签名的证书,甚至更安全,因为只有您拥有私钥。当您收到证书表格时,他们将保留私钥的副本。因此,政府可以朝着当局迫使他们将钥匙送给他们。

//如果您想强制使用SSL在"正常"页面上使用SSL,则可以使用以下描述的重定向执行此操作:https://serverfault.com/questions/250476/how-to-to-force-force-orce-or-redirect-to-ssl-in-nginx

最新更新