如何配置jetty以允许从外部服务器访问?
问题描述:
我以前见过这个问题,没有很好的答案,你如何配置码头以允许从外部服务器访问?我刚开始使用solr和jetty,并使用solr附带的示例jetty实例。如何配置jetty以允许从外部服务器访问?
solr在localhost上运行良好,我可以从同一台服务器上的站点查询它。但是,我无法从另一台服务器访问solr实例。在过去的几天里,我已经搜索了一下并阅读了很多内容,但一直未能发现让jetty允许非本地主机访问solr的功能。
基于我读过,我曾尝试添加以下行例如,/ etc /的jetty.xml
<Set name="Host">0.0.0.0</Set>
,仍然没有得到外部响应
然后试图
<Set name="Host">x.x.x.x</Set>
其中xxxx是我服务器的IP地址 和
<Set name="Host">host.domain.com</Set>
其中host.domain.com是我的服务器的FQDN
这些都导致错误
java.net.BindException: Cannot assign requested address
当我开始。
我使用的启动命令是
sudo java -jar start.jar etc/jetty.xml
你可以点我在那里我可以在此阅读或勺子喂我,我不在乎。我只想通过这个障碍,所以我可以继续学习设置和使用solr。
答
你应该添加一个名为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>
你应该设置你的静态目录使用此代码码头:
ResourceHandler staticHandler = new ResourceHandler();
staticHandler.setResourceBase("static/dir");
handlers.addHandler(staticHandler);
谢谢,我会试试看 – GregC 2012-04-04 19:06:41