禁用 SSLProxy 上的证书检查,因为 Splunk 搜索头上使用自签名证书

禁用 SSLProxy 上的证书检查,因为 Splunk 搜索头上使用自签名证书

因此,我之前在反向代理后面安装了 Splunk 3.x,并下载了最新版本(本文撰写时为 4.0.6),希望它能像以前一样易于使用。但不幸的是,事实并非如此。似乎有些元素无法通过反向代理正确转换,导致 Splunk 失败。

我在 Apache2 中使用了以下配置,但无济于事:

<VirtualHost *>
    ServerName monitoringbox.com
    DocumentRoot /path/to/nowhere

    ProxyRequests off
    ProxyPass /splunk http://127.0.0.1:8000/splunk
    ProxyPassReverse /splunk http://127.0.0.1:8000/splunk
    <Proxy /splunk/*>
        Order  allow,deny
        Allow  from all
    </Proxy>

有没有其他人在反向代理后面设置 Splunk 4.x 方面比我更幸运?

答案1

Splunk web.conf 中需要更改的关键元素是:


tools.proxy.on = True

现在一切都好了。

答案2

我看到您正在将 /splunk 映射到后端实例的 /splunk,端口为 8000。我不知道您的版本的行为是什么,但我们的(4.2)直接在 / 上回答。

您可以尝试删除后端 URL 中的 /splunk 部分吗?像这样:

ProxyPass          /splunk   http://127.0.0.1:8000/
ProxyPassReverse   /splunk   http://127.0.0.1:8000/

答案3

我的一个 Splunk 安装位于反向代理后面。说明位于 splunkninja.com:http://splunkninja.com/profiles/blogs/configuring-apache-as-a

答案4

我还不能发表评论……回复@sgerrand

我通过创建两个不同的重写规则解决了这个问题。一个用于静态,另一个用于其余内容。请记住,我的配置是针对具有不同上下文的两个 Splunk 搜索头。

    < VirtualHost blablabla:443>

.... .... 所有与服务器名称、目录、文档根目录和 SSL 配置相关的东西.... ....

    AllowEncodedSlashes On

    SSLProxyEngine On

    RequestHeader set Front-End-Https "On"

禁用 SSLProxy 上的证书检查,因为 Splunk 搜索头上使用自签名证书

    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off

重写规则以转发每个搜索头的请求

    ProxyPassReverse /one https://10.0.1.1:8000/one
    ProxyPassReverse /two https://10.0.1.2:8000/two

    RewriteEngine on

上下文非静态的重写规则

    RewriteRule /one(.*) balancer://splunkbalancer_one$1 [P]
    RewriteRule /two(.*) balancer://splunkbalancer_two$1 [P]

重写静态请求

    RewriteRule ^/(.+) balancer://splunkbalancer/$1 [P]

平衡器上的粘性会话设置

    Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

静态请求的 Balacer

    <Proxy balancer://splunkbalancer>
            BalancerMember https://10.0.1.1:8000/one route=1
            BalancerMember https://10.0.3.2:8000/two route=2
            ProxySet stickysession=ROUTEID
    </Proxy>

对于每个 Splunk 上下文,Balacer 都是非静态的,这是为了未来做准备,并且在每个上下文中都有多个搜索头

    <Proxy balancer://splunkbalancer_one>
            BalancerMember https://10.0.1.1:8000/one route=1
            ProxySet stickysession=ROUTEID
    </Proxy>

    <Proxy balancer://splunkbalancer_two>
            BalancerMember https://10.0.1.2:8000/two route=2
            ProxySet stickysession=ROUTEID
    </Proxy>

    </VirtualHost>

相关内容