![](/img/trans.png)
[英]Passing x509 certificates into node express server, NOT over https
[英]Grunt Node and Express Local Dev HTTPS Certificates
我正在嘗試從Service Workers開始,並且閱讀您需要擁有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-新-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
有人可以幫我解決這個問題。
您已經創建了一個自簽名證書,該證書可以進行開發和測試,但對於一般用途而言不安全 。 與從信譽良好的第三方購買的SSL證書不同,默認情況下,自簽名證書不受信任。
您將需要告訴您的操作系統明確信任證書。 我不熟悉Mac OS,但以前在SuperUser上回答了這個問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.