加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用https保护Rails API

发布时间:2020-12-17 02:43:15 所属栏目:百科 来源:网络整理
导读:我正在创建我的第一个API并使用 Ruby on Rails. API将严格地是服务器到服务器.我已经完成了很多关于保护这样的API的方法的 reading,并且已经决定使用https可能是最简单的方法,而不是Oauth. 附加信息: API非常简单且只读 我提供的数据并不便宜,我需要向我们
我正在创建我的第一个API并使用 Ruby on Rails. API将严格地是服务器到服务器.我已经完成了很多关于保护这样的API的方法的 reading,并且已经决定使用https可能是最简单的方法,而不是Oauth.

附加信息:

> API非常简单且只读
>我提供的数据并不便宜,我需要向我们的数据提供商和合作伙伴证明API是安全的,并且他们的数据将被保护免遭盗窃.这是我需要它的唯一原因.

我最初的计划是简单地使用将通过https发送的私钥.我不需要担心客户端共享此密钥,因为它们是根据使用情况收费的.

我的问题是你如何在客户端服务器上强制使用https?除了要求API路由使用https协议之外,还有其他我需要做的事吗?

解决方法

HTTPS只做两件事:
?*给你一种温暖的模糊感觉,你正在与正确的服务器通信
?*使用加密来防止窃听和篡改.

这不会限制对API的访问.必须使用HTTPS来处理敏感数据,因此请使用它.您可以设置前端服务器(例如nginx)以独占使用SSL(例如,不要配置端口80 / HTTP).在这里阅读更多:http://ariejan.net/2011/10/22/automatically-switch-between-ssl-and-non-ssl-with-nginx-unicorn-rails

然后,您将希望客户端对自身进行身份验证,以便您可以检查他们是从您那里接收数据的正确方.你可以在这里使用OAuth,但是因为我收集的只有一个客户端,这可能是矫枉过正的.

您可以使用的最简单的身份验证形式是需要身份验证令牌.每个请求必须包含此api令牌,您可以在服务器端验证.您还可以使用它记录有关使用情况的指标.

因此,基本上,每个请求都需要一个API密钥并配置您的服务器,因此您的API仅通过HTTPS公开.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读