在 Chrome 和 Mac 中信任 MEAN 堆栈的 https://localhost:3000/
Trust https://localhost:3000/ of MEAN stack in Chrome & Mac
我在 macOS Sierra 10.12.3 中使用 Chrome。我想我很久以前就已经为 localhost
设置了 ssl
。现在,http://localhost/
和 https://localhost/
都在 Chrome return localhost
下的文件夹列表中。我创建了一个 nodejs 应用程序。所以在命令行中输入 npm start
到 运行 服务器后,我们可以在 Chrome.
中打开 http://localhost:3000/#/home
作为前端
现在,出于某种原因,我需要让 https://localhost:3000/#/home
在 Chrome 中工作。目前,它给出 This site can't be reached; localhost unexpectedly closed the connection
错误。
有人知道怎么修改吗?我应该在 mac 还是在我的应用代码中设置一些东西?
编辑 1: 我找到了这个页面:SSL/HTTPS server with Node.js and Express.js。所以我生成了文件并修改了节点代码。现在加载 https://localhost:3000/#/posts/editor/
显示页面,但我想删除烦人的 Not Secure
警告。
如上图所示,我可以查看它的证书(虽然有错误ERR_CERT_COMMON_NAME_INVALID
)。我把证书复制到桌面,拖到Keychain Access
工具的login
,修改设置为Always Trust
。我重新启动 Chrome,重新加载页面,但 Not Secure
警告仍然存在。
有人能帮忙吗?
您确定设置了证书颁发机构吗?也许您只在代码中设置了 https
但忘记为您的应用程序设置本地证书颁发机构来验证证书。如果是这种情况请参考:http://www.techrepublic.com/blog/apple-in-the-enterprise/create-your-own-ssl-ca-with-the-os-x-keychain/
这个问题其实有很多跟帖,比较混乱。我写适合我的方式。
我终于按照这个页面生成了文件http://blog.mgechev.com/2014/02/19/create-https-tls-ssl-application-with-express-nodejs/。请注意,我将 localhost
设置为 Common Name
(不确定它是否真的是强制性的)。
在我的 MEAN 项目的 www
中
var fs = require("fs");
var config = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
var server = https.createServer(config, app).listen(3000);
在Chrome中,我打开https://localhost:3000/#/new
,然后转到Dev Tools
的Security
选项卡查看其证书。然后将证书拖到桌面。
双击桌面上的证书,打开 Keychain Access
。确保证书在 login
中(不一定是 system
)。如果不是,则将证书拖入login
.
全部改成Always Trust
(可能会重启Chrome
),npm start
应用后,使用Green Secure Light享受网上冲浪https://localhost/#/new
。
我在 macOS Sierra 10.12.3 中使用 Chrome。我想我很久以前就已经为 localhost
设置了 ssl
。现在,http://localhost/
和 https://localhost/
都在 Chrome return localhost
下的文件夹列表中。我创建了一个 nodejs 应用程序。所以在命令行中输入 npm start
到 运行 服务器后,我们可以在 Chrome.
http://localhost:3000/#/home
作为前端
现在,出于某种原因,我需要让 https://localhost:3000/#/home
在 Chrome 中工作。目前,它给出 This site can't be reached; localhost unexpectedly closed the connection
错误。
有人知道怎么修改吗?我应该在 mac 还是在我的应用代码中设置一些东西?
编辑 1: 我找到了这个页面:SSL/HTTPS server with Node.js and Express.js。所以我生成了文件并修改了节点代码。现在加载 https://localhost:3000/#/posts/editor/
显示页面,但我想删除烦人的 Not Secure
警告。
如上图所示,我可以查看它的证书(虽然有错误ERR_CERT_COMMON_NAME_INVALID
)。我把证书复制到桌面,拖到Keychain Access
工具的login
,修改设置为Always Trust
。我重新启动 Chrome,重新加载页面,但 Not Secure
警告仍然存在。
有人能帮忙吗?
您确定设置了证书颁发机构吗?也许您只在代码中设置了 https
但忘记为您的应用程序设置本地证书颁发机构来验证证书。如果是这种情况请参考:http://www.techrepublic.com/blog/apple-in-the-enterprise/create-your-own-ssl-ca-with-the-os-x-keychain/
这个问题其实有很多跟帖,比较混乱。我写适合我的方式。
我终于按照这个页面生成了文件http://blog.mgechev.com/2014/02/19/create-https-tls-ssl-application-with-express-nodejs/。请注意,我将
localhost
设置为Common Name
(不确定它是否真的是强制性的)。在我的 MEAN 项目的
www
中var fs = require("fs"); var config = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') }; var server = https.createServer(config, app).listen(3000);
在Chrome中,我打开
https://localhost:3000/#/new
,然后转到Dev Tools
的Security
选项卡查看其证书。然后将证书拖到桌面。双击桌面上的证书,打开
Keychain Access
。确保证书在login
中(不一定是system
)。如果不是,则将证书拖入login
.全部改成
Always Trust
(可能会重启
Chrome
),npm start
应用后,使用Green Secure Light享受网上冲浪https://localhost/#/new
。