Active healthchecks cannot be enabled

Hi,

I am trying to enable active health check for my service but cannot succeed with it. Below you can see my configuration:

  • Service:
    {
      "host": "service.eromanovskyj.hostname.tld",
      "created_at": 1529485051,
      "connect_timeout": 60000,
      "id": "0c67e8c9-b108-4e3a-b101-c9d98a26cc4d",
      "protocol": "https",
      "name": "service.eromanovskyj.hostname.tld",
      "read_timeout": 60000,
      "port": 443,
      "path": null,
      "updated_at": 1530086837,
      "retries": 5,
      "write_timeout": 60000
    }
    
  • Route:
    {
      "created_at": 1529485051,
      "strip_path": true,
      "hosts": [
        "eromanovskyj-api.gatewaydomain.tld"
      ],
      "preserve_host": false,
      "regex_priority": 0,
      "updated_at": 1529485051,
      "paths": [
        "/rest/devportal"
      ],
      "service": {
      "id": "0c67e8c9-b108-4e3a-b101-c9d98a26cc4d"
      },
      "methods": null,
      "protocols": [
        "http",
        "https"
      ],
      "id": "70accfeb-2761-4ddb-b74d-ee2650743168"
    }
    
  • Upstream:
    {
      "created_at": 1530084660133,
      "hash_on": "none",
      "id": "326b0813-7f64-4d37-936c-12d343a32b8a",
      "healthchecks": {
        "active": {
        "unhealthy": {
        "http_statuses": [
          429,
          404,
          500,
          501,
          502,
          503,
          504,
          505
        ],
        "interval": 5,
        "timeouts": 1,
        "http_failures": 1,
        "tcp_failures": 1
        },
        "http_path": "/",
        "healthy": {
        "successes": 1,
        "interval": 5,
        "http_statuses": [
          200,
          302
        ],
        },
        "timeout": 1,
        "concurrency": 10
        },
        "passive": {
          "unhealthy": {
          "http_failures": 0,
          "http_statuses": [
            429,
            500,
            503
          ],
          "tcp_failures": 0,
          "timeouts": 0
          },
          "healthy": {
            "http_statuses": [
              200,
              201,
              202,
              203,
              204,
              205,
              206,
              207,
              208,
              226,
              300,
              301,
              302,
              303,
              304,
              305,
              306,
              307,
              308
            ],
            "successes": 0
          }
        }
      },
      "name": "service.eromanovskyj.hostname.tld",
      "hash_fallback": "none",
      "slots": 10000
    }
    
  • Target
    {
      "created_at": 1530084824044,
      "id": "e5c7686b-1dec-4b62-b4f3-ee25977e47c5",
      "upstream_id": "326b0813-7f64-4d37-936c-12d343a32b8a",
      "target": "service.eromanovskyj.hostname.tld:443",
      "weight": 100
    }
    

So I monitor the log of my service but does not see any get requests to it in order to check it’s availability. It does not matter the service respond with 200 or 503, it simply do not get any checks. It looks like I forget to enable something but I read all the doc and do not know what is it in particular.

Thank you for you help!

First question i have is does your targets with your upstream support http healthchecks(I see you attempting 443 so makes me think its https only backend)? Kong currently does not support https health-checks as far as I am aware but hopefully will be in the works soon :slight_smile: . For reference:

Hi,

Thank you for your answer. My service is able to answer to healthchecks with http, but in this case I have to route all my bandwidth through http, instead of https as I understand (because target will be specified as :80).

I am afraid I cannot do that due to security reasons.

Right, for now we wait :slight_smile: .