Skip to content

Commit

Permalink
added TLS support
Browse files Browse the repository at this point in the history
  • Loading branch information
cubedro committed Mar 20, 2015
1 parent d089044 commit 580781d
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 8 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ build/Release
node_modules

# Certificates
certs/*
keys/*

# Users Environment Variables
.lock-wscript
2 changes: 2 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var bodyParser = require('body-parser');
var forceSSL = require('express-force-ssl');
var approvedBlock = require('./config/config');

// Init the app
Expand All @@ -17,6 +18,7 @@ app.use(favicon(path.join(__dirname, '/public/images/favicon.png')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(forceSSL);

// Routes
app.get('/', function(req, res) {
Expand Down
40 changes: 37 additions & 3 deletions bin/www
Original file line number Diff line number Diff line change
@@ -1,9 +1,43 @@
#!/usr/bin/env node

'use strict';

var debug = require('debug')('frontier.ethereum.org');
var ssl_options = require('../config/config').ssl_options;
var http = require('http');
var https = require('https');
var app = require('../app');
var fs = require('fs');
var ssl_options;

function fileExists(filePath) {
try {
fs.statSync(filePath);
} catch(err) {
if(err.code == 'ENOENT') return false;
}
return true;
};

if(fileExists('./keys/cert.key')) {
ssl_options = {
key: fs.readFileSync('./keys/cert.key'),
cert: fs.readFileSync('./keys/cert.crt'),
requestCert: false
};
}

app.set('port', process.env.PORT || 3000);
app.set('httpsPort', process.env.SSL_PORT || 3443);

var server = http.createServer(app);
server.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});

var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
if(ssl_options.key !== undefined) {
var secureServer = https.createServer(ssl_options, app);
secureServer.listen(app.get('httpsPort'), function() {
debug('Express secure server listening on port ' + secureServer.address().port);
});
}
8 changes: 4 additions & 4 deletions config/config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var approvedBlock = {
var fs = require('fs');

module.exports = {
number: 146118,
hash: "dea5342d507a30c49e6298b10d44dc5e047a27260a284dc78f6c96781c6f6e58",
timestamp: Math.floor(Date.now()/1000)
};

module.exports = approvedBlock;
};
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"body-parser": "1.12.0",
"debug": "2.1.3",
"express": "^4.11.2",
"express-force-ssl": "^0.2.11",
"jade": "^1.9.2",
"lodash": "^3.3.1",
"openpgp": "^1.0.0",
Expand Down

0 comments on commit 580781d

Please sign in to comment.