mirror of
				https://github.com/therootcompany/greenlock-express.js.git
				synced 2024-11-16 17:28:59 +00:00 
			
		
		
		
	better error messages as per #9 (comment)
This commit is contained in:
		
							parent
							
								
									d9c6a77bfc
								
							
						
					
					
						commit
						7f340412d7
					
				
							
								
								
									
										37
									
								
								lex.js
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								lex.js
									
									
									
									
									
								
							| @ -24,6 +24,21 @@ module.exports.create = function (opts) { | |||||||
|     var ports = port; |     var ports = port; | ||||||
|     var servers = []; |     var servers = []; | ||||||
| 
 | 
 | ||||||
|  |     function explainError(e) { | ||||||
|  |       console.error('Error:' + e.message); | ||||||
|  |       if ('EACCES' === e.errno) { | ||||||
|  |         console.error("You don't have prmission to access '" + e.address + ":" + e.port + "'."); | ||||||
|  |         console.error("You probably need to use \"sudo\" or \"sudo setcap 'cap_net_bind_service=+ep' $(which node)\""); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       if ('EADDRINUSE' === e.errno) { | ||||||
|  |         console.error("'" + e.address + ":" + e.port + "' is already being used by some other program."); | ||||||
|  |         console.error("You probably need to stop that program or restart your computer."); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       console.error(e.code + ": '" + e.address + ":" + e.port + "'"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     if (!plainPorts) { |     if (!plainPorts) { | ||||||
|       plainPorts = 80; |       plainPorts = 80; | ||||||
|     } |     } | ||||||
| @ -37,20 +52,30 @@ module.exports.create = function (opts) { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     plainPorts.forEach(function (p) { |     plainPorts.forEach(function (p) { | ||||||
|       promises.push(new PromiseA(function (resolve, reject) { |       if (!(parseInt(p, 10) >= 0)) { console.warn("'" + p + "' doesn't seem to be a valid port number for http"); } | ||||||
|  |       promises.push(new PromiseA(function (resolve) { | ||||||
|         require('http').createServer(le.middleware(require('redirect-https')())).listen(p, function () { |         require('http').createServer(le.middleware(require('redirect-https')())).listen(p, function () { | ||||||
|           console.log("Handling ACME challenges and redirecting to https on plain port " + p); |           console.log("Success! Bound to port '" + p + "' to handle ACME challenges and redirect to https"); | ||||||
|           resolve(); |           resolve(); | ||||||
|         }).on('error', reject); |         }).on('error', function (e) { | ||||||
|  |           console.log("Did not successfully create http server and bind to port '" + p + "':"); | ||||||
|  |           explainError(e); | ||||||
|  |           process.exit(0); | ||||||
|  |         }); | ||||||
|       })); |       })); | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     ports.forEach(function (p) { |     ports.forEach(function (p) { | ||||||
|       promises.push(new PromiseA(function (resolve, reject) { |       if (!(parseInt(p, 10) >= 0)) { console.warn("'" + p + "' doesn't seem to be a valid port number for https"); } | ||||||
|  |       promises.push(new PromiseA(function (resolve) { | ||||||
|         var server = require('https').createServer(le.httpsOptions, le.middleware(le.app)).listen(p, function () { |         var server = require('https').createServer(le.httpsOptions, le.middleware(le.app)).listen(p, function () { | ||||||
|           console.log("Handling ACME challenges and serving https " + p); |           console.log("Success! Serving https on port '" + p + "'"); | ||||||
|           resolve(); |           resolve(); | ||||||
|         }).on('error', reject); |         }).on('error', function (e) { | ||||||
|  |           console.log("Did not successfully create https server and bind to port '" + p + "':"); | ||||||
|  |           explainError(e); | ||||||
|  |           process.exit(0); | ||||||
|  |         }); | ||||||
|         servers.push(server); |         servers.push(server); | ||||||
|       })); |       })); | ||||||
|     }); |     }); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user