Rails 4 子域不适用于生产环境

2023-12-08

我创建了一个包含 3 个子域的 Rails 4 应用程序。

开发领域:

  • mydomain.dev
  • api.mydomain.dev
  • 帐户.mydomain.dev

生产域(Nginx 与 Passenger):

  • app.mydomain.com(www.mydomain.com 和 mydomain.com 显示其他页面,而不是应用程序)
  • api.mydomain.com
  • account.mydomain.com

我的 config/routes.rb 看起来像这样:

Rails.application.routes.draw do
    namespace :api, constraints: { subdomain: 'api' }, path: '/', defaults: { format: :json } do
        namespace :v1 do
            resources :clients, only: [:create, :show]
        end
    end

    namespace :account, constraints: { subdomain: 'account' }, path: '/' do
        get '/:locale' => 'welcome#index', locale: /en|pt/
        root 'welcome#index'

        scope "(:locale)", locale: /en|pt/ do
            get :sign_in, to: 'sessions#new'
            post :sign_in, to: 'sessions#create'
        end
    end

    get '/:locale' => 'welcome#index', locale: /en|pt/
    root 'welcome#index'

    scope "(:locale)", locale: /en|pt/ do
        resource :session, only: [:new, :create, :destroy]
        get :login, to: 'sessions#new', as: :login
    end
end

我的 nginx 虚拟主机文件:

server {
    listen 80;
    listen [::]:80;

    # SSL configuration
    #
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name mydomain.com api.mydomain.com account.mydomain.com;

    passenger_enabled on;
    passenger_ruby /home/username/.rvm/gems/ruby-2.2.2@myapp/wrappers/ruby;

    root /var/sites/mydomain.com/current/public;

    ssl on;
    ssl_certificate /etc/nginx/ssl/mydomain.com/server.crt;
    ssl_certificate_key /etc/nginx/ssl/mydomain.com/server.key;
}

问题是,在我的开发机器(本地主机)或开发环境上,它工作得很好,正如我想要的那样。但在生产时我收到错误:“The page you were looking for doesn't exist.”,带有以下日志信息:

参观:https://account.mydomain.com/en/sign_in

我,[2015-07-29T11:31:07.197635 #25813] 信息 -- :开始获取 “/en/sign_in” 为 0.0.0.0 在 2015-07-29 11:31:07 +0100 F, [2015-07-29T11:31:07.206758 #25813] 致命--: ActionController::RoutingError(没有路由匹配 [GET] "/en/sign_in"): 动作包 (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:incall'
newrelic_rpm (3.12.1.298) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
称呼' 动作包 (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:incall'
newrelic_rpm (3.12.1.298) lib/new_relic/agent/instrumentation/middleware_tracing.rb:67:in
称呼' Railties (4.2.3) lib/rails/rack/logger.rb:38:incall_app' railties (4.2.3) lib/rails/rack/logger.rb:20:in阻止通话'

在其他作品中,account.mydomain.com 和 api.mydomain.com 仍然充当我的主域“mydomain.com”(作为同一域)。

UPDATE:

我在我的页面上添加此代码:

<%= request.domain.inspect %><br>
<%= request.subdomain.inspect %>

参观:http://api.mydomain.co.ao结果我得到:

作为域名:“co.ao”

作为子域:“api.mydomain”

但我这里的子域只有:api

怎么了?


Default

tld_length = 1

您需要将以下域名的 tld_length 更新为 2:com.in、co.au

Try:

config.action_dispatch.tld_length = 2

在配置/环境/生产.rb

参考

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

Rails 4 子域不适用于生产环境 的相关文章

  • 我必须使用什么加密程序来通过 HTTP 协议发送加密的“电子邮件”和“密码”值?

    我正在使用 Ruby on Rails 3 我想通过 HTTP 协议发送 电子邮件 和 密码 值 我知道 我不应该 但我需要 我需要从发送用户凭据我的客户申请到一个我的服务应用 我可以使用公共和私人RSA密钥来实现这一点 但如果是这样 我不
  • 在 mac os Sierra 上,卡在“设置 CocoaPods 主存储库”上

    转移到 mac os sierra 后 我完全格式化了我的 mac 现在每次运行时我都面临安装 cocoapods 的问题sudo gem install cocoapods pre一切都安装得很好 当我尝试安装 Pod 时 终端堆栈打开S
  • 如何以 Rails 形式将图像从 上传到具有 Rails Active Storage 的 S3?

    正如标题中所述 我正在尝试使用 Rails 的 Active Storage 从嵌套在 Rails 表单中的元素将图像上传到我的 S3 存储桶 到目前为止我已经能够使用使用 Active Storage 上传图像 这User class h
  • 将 Rack::Deflater 插入机架中的哪个位置?

    我目前有以下内容 use Rack Rewrite use Rack Cache verbose gt true metastore gt memcached localhost 11211 rack cache meta entityst
  • rspec 中的模拟方法链

    有一系列方法可以获得user目的 我试图模拟以下内容以返回user in my Factory Girl current user AuthorizeApiRequest call request headers result 我可以模拟该
  • 使用 RSpec 测试导轨金属/机架?

    假设我有一个名为 Preview 的 Metal 类 如何使用 RSpec 进行测试 当我尝试时 require spec helper describe Preview do it should return the posted con
  • Ruby on Rails 离线编程

    我将离开互联网几周 但仍然想完成一个项目 我应该采取哪些步骤来确保在断开连接时能够访问我需要的内容 ruby 和 ROR 离线时 以下内容很难获得 gems docs Rails 专家博客 堆栈溢出 so gem 安装尽可能多 下载所有的轨
  • Ruby on Rails Webpacker 找不到 asset_pack_path 下的图像

    我在使用 Ruby on Rails Webpacker 在视图中包含图像时遇到问题 当我尝试使用 html img 标签和 asset pack path 在我的视图中插入图像时 出现错误 我的图像位于app javascript ima
  • 默认:Rails 资源路由的排除选项

    一个小问题 我正在将 Rails 用于 REST API 但由于它是 RESTful API 所以我并不真正需要 new or edit我的任何资源的路由 因为人们只会完全通过自动 JSON 请求而不是图形方式与此 API 交互 例如 不需
  • 使用设计宝石导轨注销用户

    在管理部分 我显示当前登录用户的列表 现在管理员可以选择一个或多个用户并销毁他们的会话 注销他们 我不知道从哪里开始 请帮助我 您可以使用sign out通过传入用户对象在控制器操作中的方法 Make sure only admins ca
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • 通过 SSL 发布 UTF-8 时,HEROKU 上出现“EOFError:已到达文件结尾”

    我在 heroku 上遇到了奇怪的错误 为了重现它 我必须使用请求正文中的任何 UTF 8 字符制作大的 超过几 KB HTTPS POST 这是一个例子 require net https require uri Accutally I
  • Rails Active Storage - 保留现有文件/上传吗?

    我有一个 Rails 模型 has many attached files 默认情况下 通过 Active Storage 上传时 如果您上传新文件 它会删除所有现有上传内容并将其替换为新文件 我有一个控制器破解 由于多种原因 它不太理想
  • 有没有办法避免自动更新 Rails 时间戳字段?

    如果您有数据库列created at and updated at当您创建和更新模型对象时 Rails 将自动设置这些值 有没有办法在不接触这些列的情况下保存模型 我正在引入一些旧数据 我想根据 不同名称的 旧数据字段中的相应值设置这些值
  • 捆绑包安装无法离线工作

    我得到了这个问题 我想已经安装了捆绑器 因为我无法在 RoR 中创建应用程序时捆绑安装 也无法直接在项目中捆绑安装 如果您遇到任何问题并找到解决方案 请帮助我 enter code here run bundle install Fetch
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • Devise:允许用户注册为“UsErNaMe”但使用“用户名”登录

    与大多数网站的工作方式相同 我将 UsErNaMe 存储在数据库中 但让用户使用 用户名 登录 这是一个相当明显且必要的功能 很多人似乎都问过它 但我不断遇到的解决方案似乎与 Devise 自己的文档脱节 例如 考虑这篇博文 http an
  • ubuntu 12.04 ruby​​ 2.0 Rails:找不到“thread_safe”

    我正在 ubuntu 12 04 上安装 Rails 使用以下方法手动安装 如何在 Ubuntu 12 04 上正确安装 ruby 2 0 0 https stackoverflow com questions 16222738 how t
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x

随机推荐

  • Linux 是否对页目录和页表使用自映射?

    我只是问这个问题 因为我很好奇 Linux 内核是如何工作的 根据http i web i u tokyo ac jp edu training ss lecture new documents Lectures 02 VirtualMem
  • 是/否消息框始终返回是 - VB.Net

    我正在尝试消息框 并尝试了一个简单的是 否消息框 所以我写了这段简单的代码 但是 无论我按下哪个按钮 chc 变量始终返回为 1 我提供了代码 所以你可能会看到我做错了什么 这可能是严重错误的 If MsgBoxResult Yes The
  • 将多个类绑定到单个变量

    在使用 Tailwind 和实用程序优先的 css 方法时 我经常发现需要将多个类绑定到单个变量 例如 要设置输入表单的样式 我需要添加border red color red等 如果有错误 在 Vue 中是否有一种漂亮而优雅的方式来表达这
  • 仅使用 javascript 在服务器上读取/写入 txt 文件,而不涉及任何服务器端语言

    我正在开发一个简单的 HTML Javascript 应用程序 该应用程序在文本区域中向用户显示一条随机文本消息 我有15 20条这样的短信 最多500个字符 我不想将这些消息保存在数据库中 我有两种情况 我每条消息都有多个 txt 文件
  • 每当声明停止请求时,HasAnyAuthority 总是让我进入 api

    通过 Spring Security 我创建了一个方法 Configuration EnableWebSecurity EnableGlobalMethodSecurity securedEnabled true public class
  • 使用 cmake 从 llvm 源目录开发 llvm 通道

    我正在尝试在我的项目目录下开发 llvm pass 为此 我遵循中的信息http llvm org docs CMake html developing llvm pass out of source 我按照此链接适当地创建了我的 CMak
  • RegEx 在 Javascript 中获取字符串后的 URL 部分

    我有以下网址 http data test com api v1 entity 1231 我需要获取后面的文本v1 和之前 斜线之间 在本例中为单词entity 我正在使用以下正则表达式 但我得到的是entity 1231第 1 组 v1
  • Java 1.5 中的 JTable 对行进行排序

    有没有一种简单的方法可以使用 Java 1 5 对 JTable 中的行进行排序 setAutoCreateRowSorter and TableRowSorter似乎是 Java 1 6 功能 Java 1 5 中的排序只能通过库实现 例
  • 在 Objective-C 中替换字符串中的坏词

    我有一个带有公共高分列表的游戏 我允许图层输入他们的名称 或任何最多 12 个字符的名称 我正在尝试创建几个函数来从坏词列表中过滤掉坏词 我有一个文本文件 我有两种方法 读取文本文件之一 void getTheBadWordsAndSave
  • 如何在Python中读取可以保存为ansi或unicode的文件?

    我必须编写一个脚本来支持读取可以保存为 Unicode 或 Ansi 的文件 使用 MS 的记事本 我的文件中没有任何编码格式的指示 如何支持这两种编码格式 一种在不提前知道格式的情况下读取文件的通用方法 MS 记事本为用户提供了 4 种编
  • 使用 gcloud cli 执行具有多个输入/输出的 Dataflow 作业

    我在 Dataprep 中设计了数据转换 现在尝试使用 Dataflow 中的模板来运行它 我的流程有多个输入和输出 数据流模板将它们作为 json 对象提供 其中每个输入和位置都有键 值对 它们看起来像这样 添加换行符以便于阅读 loca
  • 如何在自动绘图中放置不同的符号

    我遇到了一些麻烦autoplot 在生存对象中 我将以下面的例子为例 library ggplot2 library ggfortify library survival datalung lt lung fitlung lt survfi
  • 我尝试使用 Sharedpreferences 保存对象数组列表,但 toJson 和 fromJson 导致致命异常

    我的对象包含一个 String long 和 int 对象称为 Tracker 我有一个 Trackers 数组列表 当我尝试使用 toJson 时出现错误 与 fromJson 相同 我每次都会得到这个 FATAL EXCEPTION m
  • 拖动分隔符来调整 UIView 的大小

    实现由一条线分隔的 UIView 组成的界面的最佳方式是什么 并且该线可以调整视图的大小 最简单的形式可能如下所示 View A lt line which can be moved up and down resizing the vie
  • 将 html 放入 iframe 中(使用 javascript)

    我可以创建一个空 iframe 作为占位符以便稍后将 html 插入其中吗 换句话说 假设我有一个带有 id 的空 iframe 如何在其中插入 html 我正在使用jquery 如果这样更容易的话 你也可以在没有 jQuery 的情况下做
  • 为什么使用 rand() 被认为是不好的?

    的用法rand 尽管使用种子通过srand 为什么会这样呢 有哪些更好的替代方案 这个故事有两个部分 First rand is a 伪随机数发生器 这意味着它取决于种子 对于给定的种子 它将始终给出相同的序列 假设相同的实现 这使得它不适
  • 将 ARCamera 旋转变换应用于节点 (ARKit)

    我想将 ARCamera 的旋转应用于 3D 节点 以便该节点始终面向相机 我如何在 Objective C 中实现这段代码 你可以得到一个SCNNode来面对ARCamera通过使用SCNBillboardConstraint SCNBi
  • 如何在 R Markdown 中打印列表中所有记录的绘图

    这是我在 StackOverflow 上的第一个问题 如果我做错了什么 请告诉我以改进接下来的问题 我从 R Markdown 开始 在使用 for 循环打印记录的绘图时遇到一些麻烦 好吧 在运行 Rmarkdown 文件之前 我运行 R
  • 类型全局别名

    好的 创建对数组的引用很容易 my a my b a can now reference the same list of scalars from either b or a 但我怎样才能反向做到这一点呢 例如 my a 1 4 my b
  • Rails 4 子域不适用于生产环境

    我创建了一个包含 3 个子域的 Rails 4 应用程序 开发领域 mydomain dev api mydomain dev 帐户 mydomain dev 生产域 Nginx 与 Passenger app mydomain com w