设置SSL后,与站点的连接仍然不完全安全

时间:2017-04-11 23:19:17

标签: google-chrome ssl nginx ssl-certificate mean-stack

我已经设置了www.myapp.io,它连接到由nginx托管的MEAN-stack应用程序。我刚刚向其添加了SSL(let's encrypt),并在Full中设置了Cloudflare。现在,https://www.myapp.io有效,http://www.myapp.io被重定向到https://www.myapp.io

但是,Chrome地址栏中的小感叹号会显示Your connection to this site is not fully secure

有谁知道问题出在哪里?

请注意,当我使用localhost在我的MAC中开发此MEAN-stack应用程序时,我需要调用https://localhost:3000,为实现此目的,我已关注this approach,包括添加跟随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);

所以我不知道是否需要(以及如何)改变它。

鉴于我的current server block of nginx已有.pem信息,如果我写var server = https.createServer(app).listen(3000),则npm start有效,而https://www.myapp.io则认为服务器处于离线状态。< / p>

有人可以帮忙吗?

编辑1:我刚刚意识到不同的网页可能会有不同的安全信息,即使对于同一个域也是如此。例如,

https://www.myapp.io/#/new显示secure

enter image description here

然而,https://www.myapp.io/#/home显示not fully secure

enter image description here

1 个答案:

答案 0 :(得分:0)

调试Cloudflare将域名指向dev Mac作为具有HSTS的服务器,ssl stapling verify on是没有意义的。 Cookie相关问题可能会有混合内容。围绕CA和localhost存在很多问题。

您可以使用Hurricane免费电话DNS作为普通DNS和/或IBM Bluemix MEAN stack等任何PaaS的免费套餐来交叉检查您的开发设置。

如果你想要localhost,你应该有easy Nginx config like written in this guidethis 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

我理解我的回答可能无法轻易解决您的问题。但是变量太多了。我建议要么忽略localhost上的错误,要么为dev使用免费的PaaS。