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上回答的。