3

我最近在服务器上安装了 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>

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

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

4

2 回答 2

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 文件中使用。您需要在虚拟主机配置的任一服务器中使用这些。如果你必须使用 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]
于 2012-12-24T10:23:56.443 回答
0

检查以下链接。希望他们会帮助你。

于 2012-12-24T09:58:44.013 回答