-
Notifications
You must be signed in to change notification settings - Fork 984
Description
Bug Report
When creating a server by only using httpsServerOptions, the server is not mark as secure. This cause the subsequent listen to report using http:// instead of https://.
This doesn't affect servers created while declaring httpsServerOptions directly in the options object, only if you put them all in httpsServerOptions. Also, as far as I know, it doesn't seem to affect functionality, because clients can still connect via HTTPS and the req.isSecure() method returns true. It's only for fetching the URL from the url property of the restify server that seems to be affected.
Restify Version
6.3.4
Node.js Version
9.5.0
Expected behaviour
Should be listening on https://127.0.0.1:8443.
Actual behaviour
Is listening on http://127.0.0.1:8443.
Repro case
const restify = require('restify');
const server = restify.createServer({
name: 'simple-server',
version: '1.0.0',
httpsServerOptions: {
}
});
server.listen(8443, 'localhost', () => {
// output => simple-server listening at http://127.0.0.1:8443
console.log('%s listening at %s', server.name, server.url);
});Cause
The cause is found in /lib/server.js, at line 169. When creating the HTTPS server, this.secure should be set to true.
Are you willing and able to fix this?
Yes, check this commit: https://github.com/wolfmah/node-restify/commit/9573125008a0c05bb8bf4152f2258dafd66631d9