Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CERT_UNTRUSTED error when execute https request

I am trying to execute https request from my node server side but it give me following error :-

Caught exception: Error: CERT_UNTRUSTED

If i execute http request then it's working fine but for https links its not working.

Here is my code:-

var request = require('request');
request('https://en.m.wikipedia.org/wiki/Astrid_Olofsdotter_of_Sweden', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the Google homepage.
  }
})

Any Idea?

like image 715
arun kamboj Avatar asked Oct 18 '22 19:10

arun kamboj


1 Answers

This could be down to a number of things, Ive run your code and its fine for me

node --version
v0.12.5

so I would look at

  1. the version of nodejs you are using

periodically root certificates are updated , i would suggest updating as it could possibly be that the cert used is newer than the root certificates in your distribution and is hence showing as untrusted

  1. network - its possible that you are behind a proxy that does something unexpected with your requests

  2. the target server , it could be returning something unexpected.

The most likely is 1, that you are using a version of nodejs that doesnt recognise the certificate provider of the site and therefore says that its untrusted.

I'd put 2 and 3 about the same level of likelyhood. if you are spidering wikipedia, its possible they've blocked you / pushed you to an error page where the certificate may not be valid.

Whilst you can , as the other posters have suggested, turn off verification, I would advise against it as a habit. And never do it in production environments.

The only time I break this rule is for self signed certificates on local machines.

like image 105
Tim Marsh Avatar answered Oct 20 '22 23:10

Tim Marsh