mirror of
				https://github.com/therootcompany/greenlock-express.js.git
				synced 2024-11-16 17:28:59 +00:00 
			
		
		
		
	add express example
This commit is contained in:
		
							parent
							
								
									8f15f922d5
								
							
						
					
					
						commit
						6b4b19a84f
					
				
							
								
								
									
										44
									
								
								examples/express.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								examples/express.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| 'use strict'; | ||||
| 
 | ||||
| // allow node.js to bind to port 80 and 443 without root:
 | ||||
| //
 | ||||
| //   sudo setcap 'cap_net_bind_service=+ep' `which node`
 | ||||
| 
 | ||||
| /* Note: using staging server url, remove .testing() for production | ||||
| Using .testing() will overwrite the debug flag with true */ | ||||
| var LEX = require('../').testing(); | ||||
| var lex = LEX.create({ | ||||
|   configDir: require('os').homedir() + '/letsencrypt/etc' | ||||
| , approveRegistration: function (hostname, cb) { // leave `null` to disable automatic registration
 | ||||
|     // Note: this is the place to check your database to get the user associated with this domain
 | ||||
|     cb(null, { | ||||
|       domains: [hostname] | ||||
|     , email: 'aj@daplie.com' // user@example.com
 | ||||
|     , agreeTos: true | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
| var http = require('http'); | ||||
| var https = require('spdy'); | ||||
| // NOTE: you could use the old https module if for some reason you don't want to support modern browsers
 | ||||
| 
 | ||||
| function redirectHttp() { | ||||
|   http.createServer(LEX.createAcmeResponder(lex, function redirectHttps(req, res) { | ||||
|     res.setHeader('Location', 'https://' + req.headers.host + req.url); | ||||
|     res.statusCode = 302; | ||||
|     res.end('<!-- Hello Developer Person! Please use HTTPS instead -->'); | ||||
|   })).listen(80); | ||||
| } | ||||
| 
 | ||||
| function serveHttps() { | ||||
|   var app = require('express')(); | ||||
| 
 | ||||
|   app.use('/', function (req, res) { | ||||
|     res.end('Hello!'); | ||||
|   }); | ||||
| 
 | ||||
|   https.createServer(lex.httpsOptions, LEX.createAcmeResponder(lex, app)).listen(443); | ||||
| } | ||||
| 
 | ||||
| redirectHttp(); | ||||
| serveHttps(); | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user