以下是我正在使用的内容:
Server.js看起来像:
var express = require("express"),
app = express(),
IP = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1",
PORT = process.env.OPENSHIFT_NODEJS_PORT || 8888; // its 8080 on openshift. i use 8888 only on my local environment for irrelevant reasons
// we sometimes need special endpoints that arent files
app.get("/something-special", function(req, res) {
res.send("something special");
});
// but typically it's static files
app.use(express.static(__dirname + "/public"));
// go!
app.listen(PORT, IP);
当我转到https://myserver/file.js(位于/public/file.js)时,我收到错误消息,说证书不受信任。
我不太了解证书,我几乎不了解Node。这是一个学习项目,所以我试图解决我遇到的所有问题而不改变课程。
我已经尝试了我能想到的一切,包括:
答案 0 :(得分:3)
您可以尝试使用网址的https://appname-yourdomainname.rhcloud.com/版访问您的应用。基础数字证书是* .rhcloud.com,由“Geotrust SSL CA”发行,用于它的价值。如果以这种方式执行此操作,则不会获得与证书相关的错误,因为它们将基于通配符的证书应用于服务器。
我不确定托管的免费版本是否允许提供/绑定私有SSL ...是的,您需要Bronze或更高版本才能为您的应用程序提供私有SSL。 Bummer
答案 1 :(得分:0)
正在发生的事情很可能是您尝试将* .rhcloud.com通配符ssl证书与您的自定义域一起使用,这将无效。 OpenShift为您提供与您的app-domain.rhcloud.com地址相匹配的ssl证书。如果要在自定义域中正确使用SSL,则需要获取(或购买)域名的自定义ssl证书。您可以在网上获得许多公司的一个,或者您可以在这里免费获得:https://www.startssl.com
此外,SSL会在到达您的设备之前在代理上终止。查看此开发者中心文章,了解有关它如何运作的更多信息:https://developers.openshift.com/en/managing-port-binding-routing.html