Внешний прокси-сервер неправильно ссылается на ресурсы - PullRequest
2 голосов
/ 14 мая 2011

У меня довольно много трудностей с запуском внешнего прокси перед игрой.Это сообщение также в группе Google, я буду публиковать полученные предложения на обоих.

Я использую apache и mod_proxy, и приложение должно работать в местоположении "mywebsite.be/dev/приложение/".Он может отображать HTML.

Но когда я запускаю приложение, все CSS / JS / изображения отсутствуют, также все ссылки неверны.Я ищу источник, и кажется, что Play не заменил @ {/ pathname / to / resources} и другие относительные ссылки на его правильный URL.Чтобы все работало, все URL должны иметь префикс "/ dev / app".Как это можно сделать?

Я попытался поэкспериментировать с ctxPath, но это не то, что мне нужно, приложение работает нормально, но у apache2 есть проблемы с переводом всех этих URL-адресов в обратный прокси.

Можно ли это решить?Я думал о том, чтобы как-то отредактировать @ -оператор в системе шаблонов, но это не может быть, верно?

привет, Джаспер

Ответы [ 3 ]

2 голосов
/ 14 мая 2011

Вы смотрели этот пост?Я думаю, что это связано.

Невозможно сгенерировать правильные URL-адреса для статических ресурсов с playframework при использовании Apache в качестве прокси

Также, пожалуйста, следите за Play 1.2.2, поскольку это намеревается решить эту проблему, согласно сообщению, которое я прочитал в группах «Воспроизведение».

1 голос
/ 15 мая 2011

Один из моих товарищей по команде придумал ответ.Это довольно просто.

Если у вас есть конфигурация apache2, вместо того, чтобы указывать на корень localhost, вы просто указываете на localhost: 9000 / dev / app:

ProxyPreserveHost On
RedirectMatch /dev/app /dev/app/
<Location /dev/app/>
AuthType Basic
AuthName "Test Omgeving"
AuthUserFile /var/trac/htpasswd
Require valid-user

ProxyPass http://127.0.0.1:9000/dev/app/
ProxyPassReverse http://127.0.0.1:9000/dev/app/
</Location>

Это трюки apache2думая, что на вашем локальном сервере есть другой подкаталог, но на самом деле его нет, но теперь он ссылается правильно, поэтому переводит весь трафик в соответствующие ресурсы.

Возможно, это не классный способ сделатьвещи, но все работает отлично:)

Спасибо за помощь.Надеюсь, что этот пост поможет другим людям с прокси веб-интерфейса там.

Привет

0 голосов
/ 13 декабря 2012

Я рекомендую вам использовать прокси-балансировщик, поскольку это поможет сбалансировать ваши серверы, если вы планируете использовать более одного экземпляра игрового сервера в будущем

 <Proxy balancer://my-balancer>
    Order deny,allow
    Allow from all
    BalancerMember url1:port route=instanceOne
    BalancerMember url2:port route=instanceTwo
    ProxySet lbmethod=bytraffic
    </Proxy>
    ProxyPass /  balancer://my-balancer/

теперь он будет передавать ваш трафик на url1: port или url2: port, а также извлекать ваши изображения и другие статические URL

...