#windows #ruby-on-rails-3 #apache
#Windows #ruby-on-rails-3 #apache
Вопрос:
Хорошо, я боролся с этим весь день, поэтому я полагаю, что пришло время задать свой вопрос массам пользователей Rails и посмотреть, может ли кто-нибудь помочь. 🙂
Я ограничен использованием окна Windows в качестве сервера, и у меня запущен XAMPP, обслуживающий статический сайт из htdocs. Я также запускаю пару экземпляров Thin server с портов 5000 и 5001 для обслуживания двух приложений Rails. Я пытаюсь настроить обратный прокси-сервер через Apache, чтобы пользователи могли перейти к http://mydomain.com/app1 или http://mydomain.com/app2 . Вот мой файл proxy.conf:
<Proxy *>
Order deny,allow
Allow from All
</Proxy>
ProxyVia On
ProxyPass /app1 http://localhost:5000/app1
ProxyPassReverse /app1 http://localhost:5000/app1
ProxyPass /app2 http://localhost:5001/app2
ProxyPassReverse /app2 http://localhost:5001/app2
ProxyPreserveHost On
Приложения, похоже, работают нормально в отношении необработанного содержимого; однако, несмотря на установку ENV[‘RAILS_RELATIVE_URL_ROOT’] на ‘/ app1’ в файле среды для app1 и на ‘app2’ в файле среды для app2, теги javascript, stylesheet и image не добавляют ‘/app1’ или ‘ / app2’ к атрибутам HREF и SRC их вкладок, что приводит к отсутствию стилей, сценариев или изображений. Я просмотрел интернет и перепробовал все, что смог найти, но, похоже, ничего не работает. У меня такое чувство, что я упускаю что-то действительно основное, и я просто надеюсь, что кто-нибудь сможет помочь. 🙂
Ответ №1:
Попробуйте это…
<Proxy *>
Order allow,deny
Allow from All
</Proxy>
ProxyPreserveHost On
<Location /app1>
ProxyPass http://localhost:5000/app1
ProxyPassReverse http://localhost:5000/app1
</Location>
<Location /app2>
ProxyPass http://localhost:5001/app2
ProxyPassReverse http://localhost:5001/app2
</Location>
Комментарии:
1. Спасибо, попробовал это, и это не сработало. Я думаю, что проблема связана не столько с Apache, сколько с путями ресурсов в Rails. Это похоже на то, что, хотя приложение обслуживается с localhost: 5001 / app1 , общая папка по-прежнему обслуживается с localhost: 5001