2017-02-28 41 views
0

以下是我上的NodeJS官方网站找到该脚本:如何启用SSL连接的NodeJS(快递)基于服务器

// curl -k https://localhost:8000/ 
const https = require('https'); 
const fs = require('fs'); 

const options = { 
    key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), 
    cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') 
}; 

https.createServer(options, (req, res) => { 
    res.writeHead(200); 
    res.end('hello world\n'); 
}).listen(8000); 

我完全新的SSL事情。我阅读了一些关于如何在Nodej上启用SSL的教程,但仍然对这个过程没有信心。

我有一个域名(Godaddy),SSL(Namecheap)和云服务器(数字海洋与应用程序部署在HTTP前缀)。

每当我打开我的网站的登录页面时,Google Chrome会将其标记为“不安全”,因此我想将SSL添加到网站中。

我需要在NodeJS服务器(Express)上做什么事情以及需要在Namecheap上做什么事情?这样做的顺序是什么?什么是cmd行来生成.pem .csr文件?

我没有找到和全面的指导,以简明的方式制定所有步骤,所以只是简明扼要地(如果可能)与资源的链接进一步挖掘步骤。

而且,如何使用express框架在上述脚本的liue中创建https服务器?

+0

试试这个。 http://stackoverflow.com/questions/11744975/enabling-https-on-express-js – MjZac

回答

0

该脚本正确设置https的证书。如果您的网站看起来是公开的,那么您会希望从您的示例中的ssl服务Namecheap购买证书。然后你将它们移动到你的主机上,并在你的例子中的选项对象中引用它们。但是,您可以生成自己的ssl证书,这也可以工作。尽管如此,任何用户都会被警告,因为您自己签名/创建了它们,所以他们不被信任。我建议使用Namecheap选项。

注意:您的示例中只有https服务器,任何试图通过http访问您的站点的用户都将收到一个空白页面。您还需要通过以下方式创建http服务器:

var http = require('http'); 
http.createServer(...); 

我建议让http服务器重定向到https url。

相关问题