# Monitor HTTPS(SSL) url's

**URL:** <https://discuss.elastic.co/t/monitor-https-ssl-urls/82301>\
**Category:** Beats\
**Tags:** heartbeat\
**Created:** [April 13, 2017, 1:41pm UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301 "2017-04-13T13:41:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![suvitt](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@suvitt](https://discuss.elastic.co/u/suvitt)\
**Post date:** [April 13, 2017, 1:41pm UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301/1 "2017-04-13T13:41:27Z")

</div>

Hi,

I am trying to monitor the ssl urls and for some reason I seem to have issues getting it to work.

> ```
> heartbeat.monitors:
> - type: http
> ##Sample rest api
> urls: ["http://localhost:8725/api/XXX/YYY"]
> check.request.method: POST
> check.request.headers:
> content-type: 'application/json'
> accept-encoding: 'gzip,deflate'
> check.request.body: '<json message>' 
> ssl:
> certificate_authorities: ["C:/certs/issuing_CA1.cer"]
> certificate: "C:/certs/cert1.cer"
> schedule: '@every 10s
> 
> ```

I am seeing the following error in logs  
2017-04-12T11:04:12-04:00 CRIT Failed reading CA certificate:   
2017-04-12T11:04:12-04:00 ERR failed to load monitor tasks: 1 error: file is not a certificate adding C:/certs/issuing\_CA1.cer when initializing monitor http(0)

Any help is appreciated.

Thank you.

---

<div class="post-metadata">

**Author:** ![steffens](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/steffens/32/79630_2.png) [@steffens](https://discuss.elastic.co/u/steffens)\
**Post date:** [April 13, 2017, 2:42pm UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301/2 "2017-04-13T14:42:21Z")

</div>

- spacing of `ssl` section looks a little off. just copy'n paste error?
- urls should be `https`, if you want to connect using HTTPS
- what you need `certificate` setting for? Does endpoint require client authentication?
- Which file format is your certificate in? Error messages says `file is not a certificate`.

---

<div class="post-metadata">

**Author:** ![suvitt](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@suvitt](https://discuss.elastic.co/u/suvitt)\
**Post date:** [April 13, 2017, 4:29pm UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301/3 "2017-04-13T16:29:20Z")

</div>

Hi Steffen,

Sorry my mistake here is the proper config

```
- type: http
# ##Sample
  urls: ["https://server:8725/api/XXX/YYY"]
  check.request.method: POST
  check.request.headers:
    content-type: 'application/json'
    accept-encoding: 'gzip,deflate'
  check.request.body: '<json message>'
  ssl:
    certificate_authorities: ["C:/certs/issuing_CA1.cer"]
  schedule: '@every 10s'

```

The certificate is in .cer format. I am able to examine this certificate.

---

<div class="post-metadata">

**Author:** ![steffens](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/steffens/32/79630_2.png) [@steffens](https://discuss.elastic.co/u/steffens)\
**Post date:** [April 20, 2017, 9:24am UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301/4 "2017-04-20T09:24:14Z")

</div>

`.cer` is just a file name ending. Beats do require PEM formatted files. I think `.cer` files can be either PEM (text-based) or DER (binary-based).

Google did find me [this](https://serverfault.com/questions/254627/how-to-convert-a-cer-file-in-pem). Maybe you want to give it a try.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 18, 2017, 9:37am UTC](https://discuss.elastic.co/t/monitor-https-ssl-urls/82301/5 "2017-05-18T09:37:39Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
