You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Solr的shardsWhitelist?使用shards参数时遭遇403错误

解决Solr使用shards参数时的403白名单校验错误

别着急,这个问题我之前也碰到过,你遇到的403错误是因为Solr默认启用了分片白名单校验机制——当你在非ZooKeeper集群模式下直接使用shards参数时,就会触发这个安全限制。下面是几种不同部署场景下的具体禁用步骤,选适合你的方式就行:

方法一:启动时临时添加JVM参数(单次生效)

如果是通过命令行直接启动或重启Solr,直接在命令里追加-Dsolr.disable.shardsWhitelist=true参数:

  • 启动Solr:
    bin/solr start -Dsolr.disable.shardsWhitelist=true
    
  • 重启Solr:
    bin/solr restart -Dsolr.disable.shardsWhitelist=true
    

方法二:修改启动配置文件(持久化生效)

如果希望每次Solr启动都自动应用这个设置,不需要每次手动加参数,可以修改Solr的启动配置文件:

Linux/macOS系统

  1. 打开Solr安装目录下的bin/solr.in.sh文件
  2. 找到SOLR_OPTS的配置行,将禁用参数添加进去:
    SOLR_OPTS="$SOLR_OPTS -Dsolr.disable.shardsWhitelist=true"
    
  3. 保存文件后重启Solr服务

Windows系统

  1. 打开Solr安装目录下的bin/solr.in.cmd文件
  2. 找到SOLR_OPTS的配置行,添加禁用参数:
    set SOLR_OPTS=%SOLR_OPTS% -Dsolr.disable.shardsWhitelist=true
    
  3. 保存文件后重启Solr服务

方法三:Solr作为系统服务运行(比如systemd)

如果你的Solr是通过systemd管理的系统服务,需要修改服务配置文件:

  1. 打开systemd服务文件(通常路径为/etc/systemd/system/solr.service)
  2. 找到ExecStart行,在启动命令末尾追加禁用参数:
    ExecStart=/opt/solr/bin/solr start -p 8983 -Dsolr.disable.shardsWhitelist=true
    
  3. 重新加载systemd配置并重启服务:
    sudo systemctl daemon-reload
    sudo systemctl restart solr
    

完成以上操作后,再去Solr Admin的Raw Query Parameter中添加shards参数,就不会再出现403的错误提示了。

内容的提问来源于stack exchange,提问作者akshay kale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:32:42