Grunt Node和Express Local Dev HTTPS证书

我试图在服务人员开始,并阅读你需要有一个SSL证书。

我有一个AngularJS 1.x应用程序和一个Node Express后端,我独立运行,所以我使用grunt serve来运行端口8443的前端,我使用node app.js来运行7443上的express。

注意:我在macOS上这样做

我使用了关于如何在使用Grunt的项目上设置https的指南: 这里

openssl genrsa -out livereload.key 1024

openssl req -new -key livereload.key -out livereload.csr

openssl x509 -req -in livereload.csr -signkey livereload.key -out livereload.crt

Gruntfile.js

 options: { protocol: 'https', // or 'http2' port: 8443, hostname: '0.0.0.0', key: grunt.file.read('livereload.key'), cert: grunt.file.read('livereload.crt') }, 

节点app.js

 var privateKey = fs.readFileSync('../livereload.key', 'utf8'); var certificate = fs.readFileSync('../livereload.crt', 'utf8'); var credentials = {key: privateKey, cert: certificate}; httpsServer.listen(7443, config.ip, function () { console.log('Express server listening on %d, in %s mode', 7443, app.get('env')); }); 

两个开始没有错误,前端确实抱怨连接不是私人的。 当我的前端尝试击中快速服务器上的端点时,我收到以下内容;

选项https:// localhost:7443 / api / census / general net :: ERR_INSECURE_RESPONSE

有人可以帮助我的这个问题。

您已经创build了一个自签名证书,这对于开发和testing来说是很好的,但被认为是不安全的。 与从有信誉的第三方购买的SSL证书不同,默认情况下,自签名证书不受信任。

您将需要告诉您的操作系统明确信任该证书。 我不熟悉Mac OS,但是这个问题以前是在SuperUser上回答的。