我一直试图在我的网站上启用SSL,但我就是不能让它工作,即使我在我的app.js文件中设置了整个代码……只要我有http.createServer,它就能工作,浏览器就会说:不安全...但是,当我添加https.createServer时,服务器完全停止工作。网站是活的,我已经生成了证书,还试图复制域名附带的真实证书,但没有运气…
下面是我的代码:
var express = require("express"),
bodyParser = require("body-parser"),
app = express()
expressStatic = require("express-static"),
https = require('https'),
http = require('http'),
fs = require('fs'),
path = require("path");
app.set("view engine", "ejs");
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/", function (req, res) {
res.render("homepage")
})
var options = {
key: fs.readFileSync(path.resolve('https/client-key.pem')),
cert: fs.readFileSync(path.resolve('https/client-cert.pem')),
ca: fs.readFileSync(path.resolve('https/client.ca-bundle'))
};
// Create an HTTP service.
http.createServer(app).listen(80);这是一个根本不起作用的方法:
var express = require("express"),
bodyParser = require("body-parser"),
app = express()
expressStatic = require("express-static"),
typedJS = require("typed.js"),
https = require('https'),
http = require('http'),
fs = require('fs'),
path = require("path");
app.set("view engine", "ejs");
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/", function (req, res) {
res.render("homepage")
})
// This line is from the Node.js HTTPS documentation.
var options = {
key: fs.readFileSync(path.resolve('https/client-key.pem')),
cert: fs.readFileSync(path.resolve('https/client-cert.pem')),
ca: fs.readFileSync(path.resolve('https/client.ca-bundle'))
};
// Create an HTTP service.
http.createServer(app).listen(80);
https.createServer(options, app).listen(443);我应该坚持使用我的域附带的SSL,还是我生成的SSL或其他什么?我怎么才能让它工作呢?我也尝试过使用express-force-ssl,但也没有成功。
发布于 2020-04-22 08:36:26
您有什么样的SSL证书?如果您有通配符证书或特定域的证书,请确保该URL指向运行Node.JS应用程序的服务器的端口443
https://stackoverflow.com/questions/61355010
复制相似问题