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
- 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
network - its possible that you are behind a proxy that does something unexpected with your requests
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.