我最近在服务器上安装了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 Admin在site.com:8983/solr/admin
上从其他用户访问只有本地ip用户可以使用。
我试了这个,但它不工作
您的<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配置中使用这些。如果必须使用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]
查看以下链接。希望他们能帮助你。
- 限制Solr管理员访问
- Solr安全
- 保护Solr管理控制台
- 如何保护Apache Solr管理控制台