簡體   English   中英

如何使用ProxyPass設置在Tomcat上保護Solr?

[英]How to secure Solr on Tomcat with ProxyPass setup?

我想阻止外界訪問solr。 根據我在網上其他地方發現的指示,可以通過將以下行添加到tomcat server.xml文件中來完成此操作。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>

這似乎很好。

但是,我有一個Jquery應用程序,它將選擇查詢發送到solr以返回結果。

自添加此行以來,jQuery響應返回403錯誤。

我猜問題在於,因為我正在使用Jquery,所以嘗試訪問solr而不是localhost的是客戶端的IP。

但是我很困惑,因為我在apache中設置了一個proxypass來訪問solr,並認為在這種情況下它將使用localhost IP。

這是我的Proxypass設置:

# Proxy specific settings
ProxyRequests Off
ProxyPreserveHost Off

<Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /solrsearch http://localhost:8080/solr/collection1/select
ProxyPassReverse /solrsearch http://localhost:8080/solr/collection1/select

我需要做些什么來確保apache充當代理並且不將客戶端的IP傳遞給solr?

我做了這項工作。

打開tomcat的訪問日志后,我可以看到對

http://mydomain.com/solrsearch ,其中使用IP 0:0:0:0:0:0:0:1

所以我將server.xml規則更改為

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="0:0:0:0:0:0:0:1"/>

現在一切正常! 我的Jquery實時搜索能夠進行查詢,但是從外部URL(例如管理界面或更新URL)連接到solr的任何嘗試都無法訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM