是否可以在同一个域上运行Rails应用程序和React应用程序?

时间:2017-01-15 22:40:39

标签: ruby-on-rails reactjs content-management-system single-page-application api-design

我有一个场景,我想建立一个可以作为CMS和社交网络的网站。我一直只使用Rails作为我的API提供者。我本来打算完全使用Reux与Redux做客户端,但随着构建的增长,我发现自己为最简单的任务编写了大量的样板(CMS明智)。

而不是通过构建我认为最好使用Rails构建CMS,因为你可以获得基于CRUD的工具。此时,我将在同一个Rails应用程序中使用API​​和CMS。

编写帖子,创建馆藏等社交网络方面仍然可以使用React完成。我想知道是否完全可以完成一个场景,我可以在同一个域下单独创建一个Rails应用程序和SPA。任何资源都将非常感激。

注意:我知道有一个针对rails的React gem,但宁愿将它作为独立使用,以利用Redux和其他Node包。

1 个答案:

答案 0 :(得分:1)

考虑使用像Nginx这样的反向代理。 Nginx允许您将不同的路径映射到不同的主机或相同的主机(具有不同的端口)

location /cms/ {
   proxy_set_header X-Real-IP  $remote_addr;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_set_header Host $host;
   proxy_pass http://192.168.1.2:3000;
   }

location /social/ {
   proxy_set_header X-Real-IP  $remote_addr;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_set_header Host $host;
   proxy_pass http://192.168.1.2:3100;
}

您可以在以下网址中找到更多信息

https://www.nginx.com/resources/admin-guide/reverse-proxy/