2015-10-04 76 views
0

最近我買了一臺SSL認證的NodeJS的Https認證

現在我有5個文件:

1)COMODORSADomainValidationSecureServerCA.crt

2)COMODORSAAddTrustCA.crt

3)AddTrustExternalCARoot.crt

4)www_photoshooter_gr.crt

5)key.key(這是私鑰)

我知道我必須創建一個HTTPS服務器的NodeJS這樣的樣本

var https = require('https'); 
var fs = require('fs'); 

var opts = {key: fs.readFileSync('key.pem'), 
cert: fs.readFileSync('cert.pem')}; 

https.createServer(opts, function (req, res) { 
    res.end('secured!'); 
}).listen(4443); 

,但我沒有。質子交換膜的文件! !我如何創建它們?

+1

更換server.key串連您的證書到1 。只需添加密鑰就可以了:https://gist.github.com/bradmontgomery/6487319 –

+1

.key和.crt都是pem格式的文件。它們有不同的擴展名並不重要。他們仍然會工作:http://serverfault.com/questions/9708/what-is-a-pem-file-and-how-does-it-differ-from-other-openssl-generated-key-file –

+0

你沒事兒...我創建連接文件,幾乎可以工作.. http://photoshooter.gr:8000/socket.io/socket.io.js它的工作原理...(http) 但是如果if我更改腳本以使用https ...它返回「無法獲取/socket.io/socket.io.js」! ( https://photoshooter.gr:8000/socket.io/socket.io.js) – Michalis

回答

0

我這樣做,像這樣:

var server = https.createServer({ key: fs.readFileSync('secret/server.key'), cert: fs.readFileSync('secret/server.crt'), ca: fs.readFileSync('secret/ca.crt'), requestCert: true, rejectUnauthorized: false }, app); 

如果應用程序是一個快速的應用程序。

您可以key.keyserver.crt這www_photoshooter_gr.crtca.crtCOMODORSADomainValidationSecureServerCA.crt