2011-10-04 60 views
5

我有一个SOLR实例在防火墙后面运行。我即将提出另一个不会被防火墙的例子。 Howevever,SOLR似乎只支持拉复制而不推复制。Solr:复制选项

对于维持相同的安全级别,我有哪些选择?我宁愿不在防火墙中打开太多的端口。通过SSH隧道的HTTP会是最好的选择吗?是否也可以使用普通的旧rsync(不使用任何SOLR特定功能)复制索引文件,还是会打破某些内容?

回答

1

我回答我自己的问题,因为我去的解决方案与其他两个答案建议的不同。我最终使用SSH通道进行HTTP通信。因此,我使用SSH通过SSH隧道将HostA上的端口8080的所有流量重定向到hostB上的端口8080。

该解决方案似乎工作正常。我使用的是每隔5分钟验证隧道的script

1

难道也有可能使用普通的旧rsync的只是复制索引文件

Solr的实际支持这种分布与其snappuller机制,这里记载:http://wiki.apache.org/solr/CollectionDistribution

+0

我们面临类似的问题。我们想使用从cron定期调用的'snappuller'进行复制,问题是'snappuller'不仅仅使用rsync,而且还使用ssh和scp(我们不需要这样做),所以我们最终可能会重写这个脚本我们的目的。 – r3mbol

1

我就开一个端口并指定从站的IP地址,并使用普通的基于HTTP的复制;我认为这将是相当安全的,并且可能更容易维护。我知道这不是你在哪里钓鱼,但这是我的建议。

0

您可以使用HTTP基本身份验证(请参阅https://wiki.apache.org/solr/SolrReplication#Slave),但由于密码将以纯文本格式传递,因此还需要SSH隧道或安全VPN以阻止更多确定的攻击者。

如果我们觉得我们无法对我们的内部网络充分信任,那么我将开始使用VPN解决方案,并开始考虑SSH隧道,然后再转向生产。