Rails 关于 Rails 作为管理后台以及提供 JSON 接口的问题

edisonhsu · 2015年01月05日 · 最后由 hanluner 回复于 2015年01月07日 · 2945 次阅读

现在需求是用 rails 开发一个移动 app 的管理后台以及提供 API 接口 我的问题是,如何将两者安全的区分开来。 比如,管理后台对应的是 a 域名,api 接口对应 b 域名,如何使知道 b 域名的人无法访问管理后台(因为使用 nginx 的时候,两个域名都是对应到同一个 rails app) 最终目的是提高安全性,并且划分模块,大家在处理这种场景应用的时候大多使用什么框架?或者有什么比较成熟的经验可以分享一下的?进入 ruby 的世界还不是很久=。=多谢大家。。

方法一,两个域名

简单啊,假设两个域名

  • api.foo.com
  • admin.foo.com - Nginx 限制访问 IP

方法二,同一个域名,不同路径

  • /admin - Nginx 限制访问 IP,或在 routes.rb 里面给 /admin 节点设置 HTTP Authorization
  • /api

搭车问个问题,api 部分有跨域访问么?使用 CORS 么?

3 楼 已删除

#2 楼 @appell 目前还没发现有跨域问题,API 部分提供给手机访问,管理后台访问的也只是自己的资源

总之自己用的系统最好在 nginx 级别上限制。 这样直接从 web server 那边拦下来,还能避免外来程序去嗅探后台或者是撞 rails 的漏洞。

@edisonhsu 手机 app 是 native 的?

#6 楼 @appell 是 quick-cocos2d,网络层交互用 lua

你这个无需用两个域名,后台管理那块用白名单。api 跟 app 交互那里又是另外一套加密模式了,跟客户端策略有关。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号