我最近在服务器上安装了 Solr,我想限制只有本地用户可以使用 .htaccess 访问它

site.com:8983/solr/admin    [ restrict all user] 

下面是 .htaccess 代码

RewirteRule on 
<FilesMatch "127.0.0.1:8983/solr/admin"> 
    Order Deny, Allow 
    Deny form all 
    Allow 127.0.0.1 
</FilesMatch> 

或者有什么方法可以保护/限制 site.com:8983/solr/admin 上的 Solr Admin 从其他用户访问 只有本地ip用户才能使用..

我试过这个,但没用。

请您参考如下方法:

你的 <FilesMatch "127.0.0.1:8983/solr/admin"> line 永远不会匹配任何内容,因为您已将主机名和端口卡在正则表达式中。尝试使用 Location容器代替:

<Location "/solr/admin"> 
    Order Deny, Allow 
    Deny from all 
    Allow 127.0.0.1 
</Location> 

或者更好的是,Directory :

<Directory "/path/to/your/document/root/solr/admin">  
    Order Deny, Allow 
    Deny from all 
    Allow 127.0.0.1 
</Directory> 

您需要填写 solr/admin 目录的完整路径。

去掉 RewirteRule on行,它什么都不做,甚至拼写不正确,会导致 500 错误。

但是,这些指令都不能在 htaccess 文件中使用。您需要在虚拟主机配置的服务器中使用这些。如果您必须使用一个 htaccess 文件,那么在您的 solr/admin 目录中创建一个 htaccess 文件,并将这些指令简单地放入其中:

Order Deny, Allow 
Deny from all 
Allow 127.0.0.1 

或者,在文档根目录的 htaccess 文件中:

RewriteEngine On 
RewriteCond %{REMOTE_ADDR} !127.0.0.1 
RewriteRule ^/?solr/admin - [L,F] 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!