我已经设置了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
:
然而,https://www.myapp.io/#/home
显示not fully secure
:
答案 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 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。
我理解我的回答可能无法轻易解决您的问题。但是变量太多了。我建议要么忽略localhost上的错误,要么为dev使用免费的PaaS。