如何使用Puma和Nginx配置在子URL上托管的Rails 3应用程序?

除了

在Phusion Passenger中,nginx虚拟主机配置中使用了特定的指令,这些指令允许将Rails应用托管在子URL上。这在Phusion乘客文档中进行了描述

对于Puma,我正在使用套接字。我的nginx配置包括:

upstream subapp {
    server unix:<path_to_subapp_folder>/shared/sockets/puma.sock fail_timeout=0;
}

server {
...
    location /subapp {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://subapp;
    }
}

子应用程序将GET接收为“ / subapp”,但当然不知道该如何处理。如果我使用URL重写并在'/ subapp'之后的URL中传递所有内容,它将呈现页面,但是所有链接(包括资产路径)均不包含'/ subapp',因此是无效的。

一个如何配置Rails以便它在路径前添加“ / subapp”?我确实设法在route.rb中使用了一个范围(scope(:path =>(is_dev??'':'/ subapp'))),但这似乎是人为的,并且它并不位于资产路径的前面。我想有一种方法可以配置nginx / Puma(与Passenger一样)来应对这种情况。

除了

该解决方案需要对config.ru进行以下更改:

if ENV['RAILS_ENV'] != 'production'
    run SubApp::Application
else
    # production
    map '/subapp' do
        run SubApp::Application
    end
end

说明了此问题,并要求:

config.action_controller.relative_url_root = '/subapp'

无需其他Rails配置(例如,在生产中确定到“ / subapp”的路由)。如上所述的nginx配置有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Puma和Nginx配置托管在子URL上的Rails 3应用程序?

来自分类Dev

使用Nginx + Unicorn在子文件夹上托管多个Rails应用程序

来自分类Dev

如何对Azure上托管的Web应用程序和window的IIS服务器上托管的Web应用程序使用相同的自定义域?

来自分类Dev

如何刷新Gnome 3应用程序

来自分类Dev

如何在Nginx上托管的单个域下托管多个Flask应用程序?

来自分类Dev

使用Nginx,Socket.io和Node.js在树莓派上托管Angular应用程序

来自分类Dev

在云上托管 Web 应用程序后的 URL

来自分类Dev

使用NGINX和Unicorn在Rails 3应用程序中通过SSL服务资产

来自分类Dev

如何在Azure上托管Codeigniter应用程序?

来自分类Dev

如何在 AWS 上托管 nanohttpd java 应用程序?

来自分类Dev

使用AzureDevOps更新Azure上托管的Sitecore应用程序

来自分类Dev

应用程序配置

来自分类Dev

如何在一个VPS上托管具有3个不同域的3个节点应用程序?

来自分类Dev

如何使用Capifony部署symfony 3应用程序?

来自分类Dev

如何托管多个 Angular 应用程序,使用 nginx 容器进行子域

来自分类Dev

从Rails 3应用程序发布到Twitter帐户

来自分类Dev

Rails 3应用程序:RoutingError像:/ stripe / hook

来自分类Dev

JavaScript在Rails应用程序上加载了3次

来自分类Dev

具有Identity和EF的3层应用程序

来自分类Dev

3个不同的应用程序和Docker容器

来自分类Dev

3个不同的应用程序和Docker容器

来自分类Dev

S3和Web应用程序

来自分类Dev

使用 rails 应用程序安装 ssl 证书的 nginx 配置

来自分类Dev

如何在GNOME 3中编辑“应用程序”菜单?

来自分类Dev

如何针对gtk 3库运行javaFx应用程序?

来自分类Dev

如何将CakePHP 3应用程序与Firebase集成

来自分类Dev

如何开始在watchOS 3 SDK上开发应用程序?

来自分类Dev

Ruby GTK3如何更改应用程序主题?

来自分类Dev

如何在GNOME 3中编辑“应用程序”菜单?

Related 相关文章

  1. 1

    如何使用Puma和Nginx配置托管在子URL上的Rails 3应用程序?

  2. 2

    使用Nginx + Unicorn在子文件夹上托管多个Rails应用程序

  3. 3

    如何对Azure上托管的Web应用程序和window的IIS服务器上托管的Web应用程序使用相同的自定义域?

  4. 4

    如何刷新Gnome 3应用程序

  5. 5

    如何在Nginx上托管的单个域下托管多个Flask应用程序?

  6. 6

    使用Nginx,Socket.io和Node.js在树莓派上托管Angular应用程序

  7. 7

    在云上托管 Web 应用程序后的 URL

  8. 8

    使用NGINX和Unicorn在Rails 3应用程序中通过SSL服务资产

  9. 9

    如何在Azure上托管Codeigniter应用程序?

  10. 10

    如何在 AWS 上托管 nanohttpd java 应用程序?

  11. 11

    使用AzureDevOps更新Azure上托管的Sitecore应用程序

  12. 12

    应用程序配置

  13. 13

    如何在一个VPS上托管具有3个不同域的3个节点应用程序?

  14. 14

    如何使用Capifony部署symfony 3应用程序?

  15. 15

    如何托管多个 Angular 应用程序,使用 nginx 容器进行子域

  16. 16

    从Rails 3应用程序发布到Twitter帐户

  17. 17

    Rails 3应用程序:RoutingError像:/ stripe / hook

  18. 18

    JavaScript在Rails应用程序上加载了3次

  19. 19

    具有Identity和EF的3层应用程序

  20. 20

    3个不同的应用程序和Docker容器

  21. 21

    3个不同的应用程序和Docker容器

  22. 22

    S3和Web应用程序

  23. 23

    使用 rails 应用程序安装 ssl 证书的 nginx 配置

  24. 24

    如何在GNOME 3中编辑“应用程序”菜单?

  25. 25

    如何针对gtk 3库运行javaFx应用程序?

  26. 26

    如何将CakePHP 3应用程序与Firebase集成

  27. 27

    如何开始在watchOS 3 SDK上开发应用程序?

  28. 28

    Ruby GTK3如何更改应用程序主题?

  29. 29

    如何在GNOME 3中编辑“应用程序”菜单?

热门标签

归档