Rails 上具有自定义域的多租户

2023-12-08

我正在创建像 Shopify 这样的多租户应用程序,并且想知道如何在指向同一应用程序实例的服务器上创建自定义域? 例如:

app1.mysystem.com == www.mystore.com
app2.mystem.com == www.killerstore.com

我需要像 Google Apps 那样在 CNAME 上进行该配置吗?如果是这样,我该怎么做?有没有一些好的论文展示了它是如何工作的?

PS:app1和app2指向同一个应用程序! 谢谢


我有类似的设置并且正在使用 nginX。为了便于维护,我所做的就是接受来自 nginx 的所有连接,并在我的应用程序中进行过滤。

# application_controller.rb
before_filter :current_client

private
def current_client
  # I am using MongoDB with Mongoid, so change the syntax of query accordingly
  @current_client ||= Client.where(:host => request.host).first
  render('/public/404.html', :status => :not_found, :layout => false) unless @current_client
end

您可以让您的客户拥有一个域记录,其中的域/子域指向you_ip or your_domain_pointing_to_your_ip.com并将其捕获在表单中并保存在数据库中。然后更改查询current_client like:

@current_client ||= Client.or(:host => request.host).or(:alias => request.host).first
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 上具有自定义域的多租户 的相关文章

随机推荐

  • 如何使用 Microsoft graph api 从 Office 365 恢复已删除的邮件

    我想恢复我们使用 Microsoft graph api 删除的邮件 我没有找到任何 api 来使用 api 来恢复或恢复已删除的邮件 Graph API 中没有恢复方法 MAPI 或 EWS 中也没有 当某个项目在 Exchange 中被
  • 在 vector.push_back() 导致重新分配后,如何让向量迭代器指向向量?

    我有一个函数void AddEntity Entity addtolist 将元素推回到vector但由于当元素添加到时大小和容量是相等的vector 向量重新分配并且iterator变得无效 然后 当我尝试增加迭代器时 由于迭代器无效 我
  • 为什么允许可变成员的协变子类型?

    可变集合的不变性 内置的理由mutablePython 中的集合类型有不变的两者都得到了很好的解释PEP 483 and PEP 484以及一个很好的说明性示例 专门说明了原因list是不变的Mypy 文档关于这个主题 class Shap
  • Android:扩展 SeekBar 时如何从 AccessibilityEvents 中消除语音文本?

    我的 Android 应用程序包含一个基于SeekBar 并且我想将自定义文本短语附加到我的控件以解释其对辅助功能的使用 我已经使用成功完成了此操作View setContentDescription text 当我请求将焦点集中在滑块控件
  • 使用控件名称作为字符串转换为控件[重复]

    这个问题在这里已经有答案了 我的 XIB 中有几个文本字段 和标签 在我的应用程序中的某个时刻 我动态构建一个包含控件名称的字符串 即文本字段之一 如何使用我创建的保存文本字段名称的字符串来引用实际的文本字段 例如 我有 txt1 txt2
  • Windows Phone 8 - 2 背景音频冲突并且两个应用程序都终止

    大约一周前 我为 Windows Phone 商店提交了一个在线后台广播流应用程序 该应用程序非常好 当我使用模拟器对其进行测试时 它在所有可能的领域都很好 但是当我提交它进行认证时 它失败了 根据错误日志 如果有人已经在音乐 视频中心播放
  • 使用嵌套和根级别数据的 Elasticsearch 嵌套聚合比率

    我感觉像是一个简单的聚合 我有一个文档 其计时代码如下 task start 2020 06 03T21 19 07 908821Z task end 2020 06 03T21 27 00 323790Z sub tasks key su
  • Visual Studio 2010下LNK2019错误

    我在 Visual Studio 2010 下使用以下文件创建了一个示例 C 项目 A h ifndef A H define A H include
  • 如何正确设置 ios 标志以进行流操作?

    我在 C 中输入了一个基本示例 其中我尝试将一个数字以十六进制形式打印到屏幕上 如下所示 include
  • IEnumerable 没有 Count 方法

    我有以下方法 public bool IsValid get return GetRuleViolations Count 0 public IEnumerable
  • 与 React 之外的功能组件通信

    我希望能够从正常 HTML 中的组件外部与我的 React 组件进行通信 由于将组件嵌入到另一个系统中而需要 我一直在研究这个 我看到了您可以添加组件的建议window通过在渲染的元素上添加引用 如下所示 ReactDOM render
  • 使用 Python 生成报告:PDF 或 HTML 到 PDF

    Using maptplotlib我创建了 9 个图表 使用命令将它们组合成一个 pdfsavefig 但是我需要能够在每个图下方显示统计分析 describe 最好的方法是什么 Pandas 可以包含一张带有绘图的表格 请参阅table夸
  • 为什么 DBI 会隐式地将整数更改为字符串?

    我有一个具有以下结构的 MySQL 表 alid bigint 20 ndip varchar 20 ndregion varchar 20 occ num int 3 Delta Flag int 1 从表中选择数据后 我将获取所有引用的
  • 最后使用 Javascript 加载一些图像

    嗨 我只是想知道这是否可能 我的网站上有很多图像 我已将它们设置为尽可能小的文件大小 有些图像用作幻灯片 但全部都一次性加载 有没有一种方法使用 javascript 使幻灯片图像最后加载 以便背景图像等首先加载 幻灯片最后加载 这些图像位
  • 访问路由器参数 VueJS

    我正在使用 Vuejs 创建一个博客 而且我对它还很陌生 简而言之 我有一个加载到屏幕上的动态元素列表 当您单击其中一个项目时 我想转到该页面以及其余数据 我遵循了与使用 React 时相同的流程 路由器 js export default
  • 将 numpy 整数数组传递给 c 代码

    我正在尝试编写 Cython 代码来将密集特征矩阵 目标向量对转储为 libsvm 格式 速度比 sklearn 的内置代码更快 我收到一个编译错误 抱怨将目标向量 整数的 numpy 数组 传递给相关 c 函数时出现类型问题 这是代码 i
  • 使用 dlib 进行狗脸检测 - 需要有关改进 recal 的建议

    我正在尝试使用 dlib 的猪金字塔检测器训练狗脸检测器 我使用哥伦比亚狗数据集 ftp ftp umiacs umd edu pub kanazawa CU Dogs zip 起初我的召回率为 0 但通过增加 C 值 我设法将训练集上的召
  • 返回分配的字符串导致内存泄漏

    在 Fortran 中返回可变长度字符串的建议解决方案来自this问题 function itoa i result res character allocatable res integer intent in i character r
  • 需要密码才能禁用 Android 设备管理员

    我正在考虑一个具有设备管理员权限的安全应用程序 我想看看当用户尝试在 设置 gt 安全 gt 设备管理员 下以管理员身份取消选中该应用程序时 是否可能需要密码 这将增加一个障碍 不允许用户轻易卸载应用程序 因为他们首先需要从应用程序中删除管
  • Rails 上具有自定义域的多租户

    我正在创建像 Shopify 这样的多租户应用程序 并且想知道如何在指向同一应用程序实例的服务器上创建自定义域 例如 app1 mysystem com www mystore com app2 mystem com www killers