Prometheus 黑盒导出器失败 https 但不是 http

Prometheus blackbox exporter failing https but not http

我有一个模块的以下配置。此模块唯一用于 returns 403 的网站。使用 http 时它工作正常,而使用 https 时它失败。

  proxy_http_4xx:
    prober: http
    timeout: 5s
    http:
      valid_http_versions:
        - "HTTP/1.1"
        - "HTTP/2"
      valid_status_codes:
        - 403
      method: GET
      headers:
        User-Agent: prometheus-blackbox_exporter
        Accept-Language: en-US
      no_follow_redirects: false
      fail_if_ssl: false
      fail_if_not_ssl: false
      tls_config:
        insecure_skip_verify: true
      preferred_ip_protocol: "ip4"
      proxy_url: http://proxy.com:1111

答案可能是由于 config being typed incorrectly。 Http/2 曾经被称为 http/2.0 并且黑盒导出器从未为此更新名称,因此 http/2 将失败。

      valid_http_versions:
        - "HTTP/1.1"
        - "HTTP/2.0"

它仍然适用于 http 的原因是 http/2 在几乎所有浏览器中都不适用于不安全的连接。它不再是强制性的,而是 most browsers choose not to support it。 这就是为什么使用 http 它可以正常工作的原因,因为它已更改为 http/1.1。您可以通过在检查器模式下打开网络选项卡并查看请求来验证这一点。