`

Apache Solr 访问权限控制

 
阅读更多

在Tomcat6增加 Solr的访问权限方法如下:

编辑tomcat6/Catalina/localhost/solr.xml

复制代码
<Context docBase="/var/solr/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true">

<Environment name="solr/home" type="java.lang.String" value="/var/solr" override="true"/>

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.100,localhost,192.168.1.103,127.0.0.1"/>

<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.1.105"/>

</Context>
复制代码


可参考Tomcat配置文档:http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Remote_Address_Filter

要使上面的配置生效,还需要重新开启tomcat的安全机制

编辑sudo vi /etc/default/tomcat6

注释掉最后一句TOMCAT6_SECURITY=no


要了解更多的安全机制,可查阅Solr Wiki:http://wiki.apache.org/solr/SolrSecurity

 

 

Solr管理后台功能可谓强大,但是真正线上,如果管理后台地址可以公开访问的话,不但core的结构会暴漏出来,索引库甚至可以被修改或删除。

推荐的做法是,在apache或其他服务器上做设置,平时禁用对外的访问地址,项目访问solr的内网地址(如:http://localhost:8080/solr/collection1);平时线下调试使用本地的solr,如需要调试线上的,可以临时开打对外地址,用完再关闭。

如果你用的是ajp方式连接apache与tomcat,可参考如下红色部分设置。需要打开时,在前边加#号注释掉,然后重启apache即可( /etc/httpd/conf/httpd.conf )

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html
    ServerName www.devnote.cn

    ProxyPass /solr/ !
    ProxyPass / ajp://localhost:8009/
    ErrorLog logs/www.devnote.cn-error_log
    CustomLog logs/www.devnote.cn-access_log common
</VirtualHost>

 注:如果用ajp连接方式,内网访问时不能用http://localhost:8009/solr/collection1,需要用默认的8080或者你自己定义的tomcat端口。

 

 

==============Tomcat中实现IP访问限制==============

 

 配置Tomcat的ip访问限制
Tomcat中的ip访问限制,即设置允许某个(或某些)客户端能够访问到tomcat服务器,或不能访问tomcat服务器。
限制tomcat的IP访问其实是一件非常容易的事情,只需要编辑tomcat的server.xml,增加适当代码即可。
修改如下:
例如我们有一个名为myapp的虚拟目录。用文本编辑器打开tomcat的 server.xml配置文件,找到其配置代码如下:
1
<contextpath=”/myapp” reloadable=”true” docBase=”/var/www/myapp” />

将其改成下面代码:

1
2
3
4
<contextpath=”/myapp” reloadable=”true” docBase=”/var/www/myapp”>
    <valueclassName=”org.apache.catalina.values.RemoteAddrValue”
        allow=”127.0.0.1” deny=”″ />
</context>
经过这样设置后,将只允许本机访问Tomcat.
如要限制只能192.168.1.0-192.168.5.255和192.168.10.0-192.168.15.255这样的IP段,可以类似这样写:
1
2
3
4
<contextpath=”/myapp” reloadable=”true” docBase=”/var/www/myapp”>
    <valueclassName=”org.apache.catalina.values.RemoteAddrValue”
        allow=”192.168.[1-5].*,192.168.[10-15].*” deny=”″ />
</context>

设置好后重新启动Tomcat就生效

Tomcat中实现IP访问限制  

原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420129231118360/

效果:只有指定的主机或IP地址才可以访问部署在Tomcat下的应用。

Tomcat供了两个参数供你配置:RemoteHostValve 和RemoteAddrValve,前者用于限

制主机名,后者用于限制IP地址。
通过配置这两个参数,可以让你过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。


一、全局设置,对Tomcat下所有应用生效
server.xml中添加下面一行,重启服务器即可:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/> 
此行放在</Host>之前。
例:
1,只允许192.168.1.10访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10" deny=""/>
2,只允许192.168.1.*网段访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>
3,只允许192.168.1.10、192.168.1.30访问:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.10,192.168.1.30" deny=""/>
4,根据主机名进行限制:

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/>


二、局部设置,仅对具体的应用生效
根据项目配置情况进行设置:
1,使用conf目录下xml文件进行配置${tomcat_root}\conf\proj_1.xml
2,直接在server.xml中进行设置${tomcat_root}\conf\server.xml
在上述文件对应项目的</Context>前增加下面一行:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.1.*" deny=""/>

特别需求:测试版本不想提供别人访问
打开tomcat6\conf\server.xml文件
如果是要限制整个站点别人不能访问,则要将
<Valve className="org.apache.catalina.valves.RemoteAddrValve"  allow="192.168.1.*,192.168.2.*,*.mysite.com" deny=""/> 
加入到<HOST></HOST>标签中
如果是要限制某个站点不能被访问,则要加入到<Context>里面就可以。

<Context path="/myweb" reloadable="true" docBase="E:\tomcat6\webapps\myweb">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.13.110,192.168.1.*,220.250.13.21" deny=""/> 
</Context>
 
RemoteHostValve
根据主机名进行限制:
<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="tmachine1" deny=""/>

修改文件:

tomcat/conf/server.xml

通过tomcat限制ip访问

<Engine name="Standalone" ...>
<Valve className="org.apache.catalina.valves.RemoteHostValve"
         allow="*.mycompany.com,*.a.com"/> 域名限制
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         deny="192.168.1.*"/> IP限制
</Engine>
重启tomcat升效
 
分享到:
评论

相关推荐

    Apache Solr组件安全概览1

    - **安全实践**:定期更新Solr版本以修复已知漏洞,限制不必要的网络访问,实施严格的权限控制,以及使用安全的配置和加密传输。 5. **总结** Apache Solr作为一个重要的搜索服务引擎,其安全性不容忽视。理解和...

    apache-solr4.10参考指南-英文版下载

    - Solr的安全特性包括基本认证、SSL加密,以及通过Zookeeper进行的访问控制。 - 使用Solr Security Plugin可以实现细粒度的权限管理。 总之,《Apache Solr 4.10参考指南》是了解和掌握Solr技术的必备资料,涵盖...

    solr-8.3.0.tgz

    - **插件安全**:通过Solr Security Plugin实现访问控制,防止未授权的访问。 总之,Apache Solr 8.3.0是一个强大且灵活的全文搜索平台,提供了丰富的功能和优秀的性能。了解并熟练掌握这些知识点,对于构建高效的...

    apache-solr-dataimporthandler-extras-1.4.0.jar.zip

    - 安全性:在处理敏感数据时,确保正确配置了权限和认证,以防止未授权访问。 - 性能优化:根据数据量和系统资源调整DIH的参数,例如批处理大小、并发设置等。 总结来说,`apache-solr-dataimporthandler-extras-...

    solrcore 添加修改控制

    对SolrCore的添加和修改操作应受到权限控制,以防止未经授权的访问和操作。Solr支持基于角色的访问控制(RBAC),可以通过Solr安全模块配置。设置用户角色,分配不同的权限,如读写、管理等,可以确保只有授权用户...

    solr全局搜索websocket远程通讯技术权限控制

    在Solr中,权限控制可以通过Solr的安全模块实现,如Shiro或Spring Security等,它们可以定义不同用户的访问权限,如只读、读写、管理员等。在结合WebSocket的场景下,我们需要确保只有经过身份验证和授权的用户才能...

    apache-atlas-2.1.0-server.tar.gz 不含hbase和solr

    3. **数据安全**:Apache Atlas支持基于元数据的访问控制策略,允许根据业务需求定义角色和权限,以确保数据安全。 4. **数据质量**:提供数据质量规则定义和执行,帮助检测和改进数据的准确性、完整性和一致性。 *...

    apache-tomcat-9.0.35-solr7.7.3.rar

    在本场景中,我们讨论的是如何将Apache Solr 7.7.3集成到Apache Tomcat 9.0.35中,并配置安全权限,实现BASIC认证。 Apache Solr是一个强大的、开源的企业级搜索平台,它基于Lucene库,提供全文搜索、命中高亮、...

    ranger-2.0.0-SNAPSHOT-solr-plugin.tar.gz

    1. 权限控制:Ranger Solr插件支持基于角色的访问控制(RBAC),可以设定不同角色的用户对Solr的不同资源有不同的访问权限。 2. 实时审计:一旦有用户访问Solr,Ranger会记录详细的审计日志,便于跟踪和分析数据...

    tomcat9 + solr

    标题 "Tomcat9 + Solr" 提示我们讨论的是如何在Apache Tomcat 9服务器上部署和运行Apache Solr搜索引擎。Solr是一个基于Java的开源全文搜索引擎,它提供了高效的索引和搜索功能,广泛用于企业级的信息检索系统。...

    solr教程+实例

    七、安全与权限控制 7.1 认证与授权:通过插件实现基本的HTTP认证,配置角色和权限来控制访问。 7.2 SSL/TLS加密:启用HTTPS,确保数据传输安全。 通过这个Solr教程,你可以深入了解Solr的原理和实践操作,无论是...

    solr解压版安装包

    Solr,全称为Apache Solr,是一款开源的企业级全文搜索引擎,由Apache软件基金会开发并维护。它是基于Java的,能够高效、灵活地处理大量数据的搜索解决方案,广泛应用于网站、电商、文档检索等多个领域。Solr的核心...

    solr安装资源

    9. **安全与权限控制**:Solr支持基本的身份验证和授权,可以使用Jetty或Apache HttpClient的认证机制。通过配置solrconfig.xml和security.json,可以实现对Solr的访问控制。 10. **持续集成与部署**:在开发环境中...

    Solrj and Solr and LDAP and SearchEngine

    这使得组织可以利用已有的LDAP目录服务来控制Solr的访问权限,确保只有经过身份验证的用户才能进行查询和管理操作。 【SearchEngine】 搜索引擎是用于索引和检索信息的系统。在本场景中,Solr作为搜索引擎,用于...

    solr 部署在linux windows环境

    2. **下载Solr**:访问Apache Solr官网下载最新版本的Solr压缩包,解压至你喜欢的目录,例如`/opt/solr`。 3. **启动Solr服务器**:进入解压后的目录,找到`bin`文件夹,然后执行`./solr start`(对于Windows环境,...

    solr搜索服务器安装配置

    4. **修改Solr权限**:确保Solr目录属于新创建的用户。 ```bash chown -R solr:solr /opt/solr-8.x ``` 5. **启动Solr**:进入Solr目录下的`example`目录,并启动Solr实例。 ```bash cd /opt/solr-8.x/...

    solr-4.9.0-安装部署文档

    【Solr 4.9.0 安装部署详解】 Apache Solr 是一款基于 Lucene ...同时,保持 Solr 服务器的安全性,例如限制访问权限和设置防火墙规则。在生产环境中,你可能还需要考虑集群化、备份恢复策略以及性能优化等高级话题。

    Solr入门配置说明

    Solr,全称为Apache Solr,是一个开源的、基于Java的企业级搜索应用服务器。它提供了一种高效、可扩展的全文检索能力,支持多种数据源,如XML、JSON等,通过HTTP接口进行通信,使得开发者能够方便地构建和维护索引,...

    最新版windows solr-8.8.2.zip

    10. **安全与身份验证**:Solr 8.8.2可能包含安全模块,允许设置访问控制列表(ACLs)和角色基础的权限管理,以保护Solr实例免受未授权访问。 11. **日志和监控**:Solr提供了详细的日志记录,并可通过JMX(Java ...

    solr7.5搜索框架

    10. **安全与权限控制**:Solr 7.5 提供了基本的安全性和权限控制功能,如SolrCloud的Zookeeper配置节点可以进行用户认证和授权设置。 总之,Solr 7.5 搜索框架以其高效、灵活和易用的特点,成为了企业级搜索解决...

Global site tag (gtag.js) - Google Analytics