我已经设置了 www.myapp.io
,它连接到由 nginx 托管的 MEAN-stack 应用程序。我刚刚向其添加了 SSL(通过 let's encrypt
),并在 Cloudflare
中设置了 Full
。现在,https://www.myapp.io
工作并且 http://www.myapp.io
被重定向到 https://www.myapp。 io
.
但是,Chrome 地址栏中的小感叹号显示您与此站点的连接不完全安全
。
谁知道问题出在哪里?
请注意,当我在我的 MAC 中使用 localhost
开发这个 MEAN-stack 应用程序时,我需要调用 https://localhost:3000
来实现这一点,我关注了this approach ,包括在 www
中添加以下 block :
var fs = require("fs");
var config = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
var server = https.createServer(config, app).listen(3000);
所以我不知道我是否需要(以及如何)改变它。
鉴于我的current server block of nginx已经有 .pem
信息,如果我写 var server = https.createServer(app).listen(3000)
,npm start
会起作用,而 https://www.myapp.io
认为服务器离线。
有人能帮忙吗?
编辑 1: 我刚刚意识到不同的页面可能具有不同的安全信息,即使对于同一域也是如此。例如,
https://www.myapp.io/#/new
显示secure
:
然而,https://www.myapp.io/#/home
显示不完全安全
:
最佳答案
在 Cloudflare 将域名指向 dev Mac 作为具有 HSTS、ssl stapling 验证的服务器的情况下进行调试是没有意义的。与 cookie 相关的问题可能存在混合内容。围绕 CA 和 localhost 确实有很多事情。
您可以将 Hurricane electric 免费 DNS 用作普通 DNS 和/或任何 PaaS 的免费层级,例如 IBM Bluemix MEAN stack交叉检查您的开发设置。
如果你想要本地主机,你应该有 easy Nginx config like written in this guide或 this guide .在您的配置中注释掉这些并尝试:
# ssl_prefer_server_ciphers on;
# ssl_stapling on;
# ssl_stapling_verify on;
# add_header Strict-Transport-Security max-age=15768000;
# ssl_session_timeout 1d;
装订是一件复杂的事情,即使在完全正确的完整配置下将其保持打开状态也会像我解释的那样带来 OSCP 装订错误 -- OSCP Stapling Error .除了真正的服务器,安全性会更严格,更难发现基本错误。 Not fully secure is explained here .
我知道我的回答可能无法轻松解决您的问题。但是变数太多了。我建议要么忽略本地主机上的错误,要么为开发人员使用免费的 PaaS。
关于google-chrome - 设置 SSL 后与站点的连接仍然不完全安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43357740/