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