49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| var pkg = require("../../package.json");
 | |
| 
 | |
| // The WRONG way:
 | |
| //var https = require('https');
 | |
| //var httpsServer = https.createServer(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) {
 | |
|     //
 | |
|     // HTTPS 1.1 is the default
 | |
|     // (HTTP2 would be the default but... https://github.com/expressjs/express/issues/3388)
 | |
|     //
 | |
| 
 | |
|     // Get the raw https server:
 | |
|     var httpsServer = glx.httpsServer(null, function(req, res) {
 | |
|         res.end("Hello, Encrypted World!");
 | |
|     });
 | |
| 
 | |
|     httpsServer.listen(443, "0.0.0.0", function() {
 | |
|         console.info("Listening on ", httpsServer.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());
 | |
|     });
 | |
| }
 | |
| 
 | |
| //require("greenlock-express")
 | |
| require("../../")
 | |
|     .init(function getConfig() {
 | |
|         // Greenlock Config
 | |
| 
 | |
|         return {
 | |
|             package: { name: "https1-example", version: pkg.version },
 | |
|             maintainerEmail: "jon@example.com",
 | |
|             cluster: false
 | |
|         };
 | |
|     })
 | |
|     .serve(httpsWorker);
 |