Как настроить Jetty, чтобы разрешить доступ с внешнего сервера? - PullRequest
1 голос
/ 31 марта 2012

Я уже видел этот вопрос без хороших ответов, как настроить Jetty для разрешения доступа с внешнего сервера? Я только начал возиться с Solr и Jetty и использую пример Jetty, который поставляется с Solr.

solr отлично работает на локальном хосте, и я могу запрашивать его с сайтов на одном сервере. Однако я не могу получить доступ к экземпляру Solr с другого сервера. За последние несколько дней я немного погуглил и прочитал, но не смог выяснить, что мешает пристанищу разрешить нелокальный доступ к solr.

На основании прочитанного я попытался добавить следующую строку в пример / etc / jetty.xml

<Set name="Host">0.0.0.0</Set> 

и до сих пор не получил внешнего ответа

потом попробовал

<Set name="Host">x.x.x.x</Set>

где x.x.x.x - IP-адрес моего сервера и

<Set name="Host">host.domain.com</Set>

где host.domain.com - полное доменное имя моего сервера

Обе эти ошибки привели к ошибке

java.net.BindException: Cannot assign requested address

когда я начал.

Используемая мной команда запуска:

sudo java -jar start.jar etc/jetty.xml

Вы можете указать мне, где я могу прочитать об этом или накормить меня ложкой, мне все равно. Я просто хотел бы преодолеть это препятствие, чтобы научиться настраивать и использовать solr.

1 Ответ

0 голосов
/ 01 апреля 2012

Вы должны добавить файл с именем clientaccesspolicy.xml для междоменного доступа к вашему каталогу статических веб-файлов:

<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-methods="*" http-request-headers="*">
        <domain uri="http://*"/>
        <domain uri="https://*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

Вы должны установить статический каталог в Jetty, используя этот код:

ResourceHandler staticHandler = new ResourceHandler();
staticHandler.setResourceBase("static/dir");
handlers.addHandler(staticHandler);
...