簡體   English   中英

Grunt Node和Express Local Dev HTTPS證書

[英]Grunt Node and Express Local Dev HTTPS Certificates

我正在嘗試從Service Workers開始,並且閱讀您需要擁有ssl證書的信息。

我有一個AngularJS 1.x應用程序和一個Node Express后端,並且我都獨立運行,所以我用grunt serve在端口8443上運行前端,而我用node app.js7443上運行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM