【问题标题】:Solarium gets "Permission Denied" when trying to connect apache solr at local ip尝试在本地 ip 连接 apache solr 时,日光浴室得到“权限被拒绝”
【发布时间】:2016-02-24 18:50:04
【问题描述】:

我在与 apache solr (5.2.1) 相同的物理服务器上有一个 drupal 8 站点。 Drupal 8 使用 search_api_solr contrib 模块,该模块使用 Solarium(由 composer 安装)通过 http api 与 solr 服务器通信。

我已成功安装 solr 并创建了一个核心。我可以使用各种 linux 用户在 linux 命令行上使用 cUrl 查询内核。

我可以在浏览器中访问 solr 管理屏幕(通过具有 192.168 ip 或域解析的 vpn)并查看我在 cli 上创建的核心。

但是,drupal solr 模块无法连接到 solr 服务器核心,如果我使用 drupal 模块创建索引,则会引发 php 错误:

[错误] 未捕获的 PHP 异常 Solarium\Exception\HttpException:“Solr HTTP 错误:HTTP 请求失败,无法连接到 127.0.0.1:权限被拒绝”,位于 modules/search_api_solr/vendor/solarium/solarium/library/Solarium/核心/客户端/适配器/Curl.php 第 248 行

我的网址是这样的:http://127.0.0.1:8983/solr/mycore

我得到同样的错误

http://192.168.254.78:8983/solr/mycore

http://127.0.0.1:8080/solr/mycore

为什么 Solarium 不能发送 http 到本地 ip?

注意8080上没有监听,所以我怀疑这个http失败与solr服务器无关。

【问题讨论】:

    标签: linux solr drupal-8 solarium


    【解决方案1】:

    问题原来是这台 CentOS6 机器上的 SELinux 不允许 apache 与端口 8983 通信。

    # setenforce 0
    

    我们的错误消失了。

    # setenforce 1
    

    错误又回来了

    检查 /var/log/audit.log。

    这是我们看到的:

    type=AVC msg=audit(1457115397.149:224568): avc: denied { name_connect } for pid=4029 comm="httpd" dest=8983 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t: s0 tclass=tcp_socket

    注意 scontext 是 httpd_t (apache) 而tcontext是port_t(一个端口)

    现在默认情况下 apache 只能监听 http_port_t 端口

    所以——我们检查我们想要的端口是否为“8983”

    但首先我们需要由以下提供的“semanage”:

    yum install policycoreutils-python

    现在检查现有的 http_port_r:

    # semanage port -l | grep 'http_port_t'
    

    http_port_t tcp 80、81、443、488、8008、8009、8443、9000

    pegasus_http_port_t tcp 5988

    现在让我们添加 8983

    # semanage port -a -t http_port_t -p tcp 8983
    

    再检查一次——是的,8983 在那里

    # semanage port -l | grep 'http_port_t'
    

    http_port_t tcp 8983、80、81、443、488、8008、8009、8443、9000

    pegasus_http_port_t tcp 5988

    SELinux 强制执行不再出错

    【讨论】:

      猜你喜欢
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 2019-06-28
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多