Обслуживание статического контента из приложения Rails, размещенного вне приложения Rails - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть приложение Rails, которое сочетает в себе динамические и статические страницы.Для статических страниц я хочу сделать их доступными для редактирования моим партнером, который не является разработчиком Rails, и поэтому не хотел бы заниматься git и вносить изменения непосредственно в репо.

Итаккакой-то CMS кажется правильным ответом.

Но по причинам обслуживания - в основном из-за трудностей с обновлением гема CMS, который я использовал в прошлом, я не хочу размещать CMS внутриприложение Rails больше.Я также хочу получить другие преимущества, такие как улучшенные инструменты редактирования и более легкий доступ к шаблонам, которые поставляются с размещенным решением CMS.

Я думал, что мог бы сделать что-то вроде размещения статического контента на чем-то вроде Wordpress или Squarespace, а затем как-то обслуживать этот статический контент из приложения Rails.Если бы я использовал отдельные субдомены, я думаю, что это было бы легко, но я бы хотел, чтобы весь контент находился в одном www субдомене.

Приложение Rails в настоящее время размещено на Heroku, и я использую Google Domains дляDNS.

Надеюсь, понятно, чего я пытаюсь добиться и почему.У кого-нибудь есть предложения о том, как это можно сделать?

1 Ответ

0 голосов
/ 22 февраля 2019

Это можно сделать с помощью обратного прокси-сервера nginx перед вашим приложением - вы можете проксировать различные пути для разных приложений / хостов, например:

server {
   server_name your_main_host.com;

   # other nginx vhost config..

   location /cms_prefix/ {
      proxy_set_header Host host_that_cms_expects.com;
      proxy_pass http://your_cms_host.url/;
   }

   location / {
      proxy_set_header Host your_main_host.com;
      proxy_pass http://your_rails_upstream;
   }
}

Не развернули этот метод на heroku, но это должноэто возможно при использовании nginx buildpack в «режиме соло» (на самом деле вы хотите «режим прокси», но с пользовательской конфигурацией)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...