保护使用.htaccess或tomcat限制来自外部用户的Solr管理员URL

时间:2012-12-24 09:50:13

标签: .htaccess solr restriction

我最近在服务器上安装了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用户可以使用它..

我试过这个,但它不起作用。

2 个答案:

答案 0 :(得分:1)

您的<FilesMatch "127.0.0.1:8983/solr/admin">行永远不会匹配任何内容,因为您已将主机名和端口卡在正则表达式中。请尝试使用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文件。您需要在vhost config的服务器中使用它们。如果你必须使用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]

答案 1 :(得分:0)