[英]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.