2019-11-01 10:12:40 +00:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
var pkg = require("../../package.json");
|
|
|
|
|
|
|
|
// The WRONG way:
|
|
|
|
//var http2 = require('http2');
|
|
|
|
//var http2Server = https.createSecureServer(tlsOptions, app);
|
|
|
|
//
|
|
|
|
// Why is that wrong?
|
|
|
|
// Greenlock needs to change some low-level http and https options.
|
|
|
|
// Use glx.httpsServer(tlsOptions, app) instead.
|
|
|
|
|
|
|
|
function httpsWorker(glx) {
|
2019-11-01 21:14:07 +00:00
|
|
|
//
|
|
|
|
// HTTP2 would have been the default httpsServer for node v12+
|
|
|
|
// However... https://github.com/expressjs/express/issues/3388
|
|
|
|
//
|
|
|
|
|
|
|
|
// Get the raw http2 server:
|
|
|
|
var http2Server = glx.http2Server(function(req, res) {
|
|
|
|
res.end("Hello, Encrypted World!");
|
|
|
|
});
|
|
|
|
|
|
|
|
http2Server.listen(443, "0.0.0.0", function() {
|
|
|
|
console.info("Listening on ", http2Server.address());
|
|
|
|
});
|
|
|
|
|
|
|
|
// Note:
|
|
|
|
// You must ALSO listen on port 80 for ACME HTTP-01 Challenges
|
|
|
|
// (the ACME and http->https middleware are loaded by glx.httpServer)
|
|
|
|
var httpServer = glx.httpServer();
|
|
|
|
httpServer.listen(80, "0.0.0.0", function() {
|
|
|
|
console.info("Listening on ", httpServer.address());
|
|
|
|
});
|
2019-11-01 10:12:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
//require("greenlock-express")
|
|
|
|
require("../../")
|
2019-11-01 21:14:07 +00:00
|
|
|
.init(function getConfig() {
|
|
|
|
// Greenlock Config
|
|
|
|
|
|
|
|
return {
|
|
|
|
package: { name: "http2-example", version: pkg.version },
|
|
|
|
maintainerEmail: "jon@example.com",
|
|
|
|
cluster: false
|
|
|
|
};
|
|
|
|
})
|
|
|
|
.serve(httpsWorker);
|