Configure production to run in https
This commit is contained in:
@ -2,32 +2,34 @@ require('dotenv').load();
|
||||
require('pmx').init();
|
||||
// handle uncaught exceptions. Forever will restart process on shutdown
|
||||
|
||||
var R = require('ramda'),
|
||||
assign = require('lodash').assign,
|
||||
loopback = require('loopback'),
|
||||
boot = require('loopback-boot'),
|
||||
accepts = require('accepts'),
|
||||
cookieParser = require('cookie-parser'),
|
||||
compress = require('compression'),
|
||||
session = require('express-session'),
|
||||
logger = require('morgan'),
|
||||
errorHandler = require('errorhandler'),
|
||||
methodOverride = require('method-override'),
|
||||
bodyParser = require('body-parser'),
|
||||
helmet = require('helmet'),
|
||||
MongoStore = require('connect-mongo')(session),
|
||||
flash = require('express-flash'),
|
||||
path = require('path'),
|
||||
expressValidator = require('express-validator'),
|
||||
forceDomain = require('forcedomain'),
|
||||
lessMiddleware = require('less-middleware'),
|
||||
pmx = require('pmx'),
|
||||
var https = require('https'),
|
||||
sslConfig = require('./ssl-config'),
|
||||
R = require('ramda'),
|
||||
assign = require('lodash').assign,
|
||||
loopback = require('loopback'),
|
||||
boot = require('loopback-boot'),
|
||||
accepts = require('accepts'),
|
||||
cookieParser = require('cookie-parser'),
|
||||
compress = require('compression'),
|
||||
session = require('express-session'),
|
||||
logger = require('morgan'),
|
||||
errorHandler = require('errorhandler'),
|
||||
methodOverride = require('method-override'),
|
||||
bodyParser = require('body-parser'),
|
||||
helmet = require('helmet'),
|
||||
MongoStore = require('connect-mongo')(session),
|
||||
flash = require('express-flash'),
|
||||
path = require('path'),
|
||||
expressValidator = require('express-validator'),
|
||||
forceDomain = require('forcedomain'),
|
||||
lessMiddleware = require('less-middleware'),
|
||||
pmx = require('pmx'),
|
||||
|
||||
passportProviders = require('./passport-providers'),
|
||||
/**
|
||||
* API keys and Passport configuration.
|
||||
*/
|
||||
secrets = require('./../config/secrets');
|
||||
passportProviders = require('./passport-providers'),
|
||||
/**
|
||||
* API keys and Passport configuration.
|
||||
*/
|
||||
secrets = require('./../config/secrets');
|
||||
|
||||
var generateKey =
|
||||
require('loopback-component-passport/lib/models/utils').generateKey;
|
||||
@ -218,8 +220,8 @@ var passportOptions = {
|
||||
// NOTE(berks): get email or set to null.
|
||||
// MongoDB indexs email but can be sparse(blank)
|
||||
var email = emails && emails[0] && emails[0].value ?
|
||||
emails[0].value :
|
||||
null;
|
||||
emails[0].value :
|
||||
null;
|
||||
|
||||
var username = (profile.username || profile.id);
|
||||
username = typeof username === 'string' ? username.toLowerCase() : username;
|
||||
@ -295,16 +297,34 @@ if (process.env.NODE_ENV === 'development') {
|
||||
* Start Express server.
|
||||
*/
|
||||
|
||||
app.start = function() {
|
||||
app.listen(app.get('port'), function () {
|
||||
console.log(
|
||||
'FreeCodeCamp server listening on port %d in %s mode',
|
||||
app.get('port'),
|
||||
app.get('env')
|
||||
);
|
||||
});
|
||||
var options = {
|
||||
key: sslConfig.privateKey,
|
||||
cert: sslConfig.certificate
|
||||
};
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
app.start = function() {
|
||||
var server = https.createServer(options, app);
|
||||
server.listen('https://' + process.env.HOST + ':' + app.get('port'), function () {
|
||||
console.log(
|
||||
'FreeCodeCamp server listening on port %d in %s mode',
|
||||
app.get('port'),
|
||||
app.get('env')
|
||||
);
|
||||
});
|
||||
};
|
||||
} else {
|
||||
app.start = function () {
|
||||
app.listen(app.get('port'), function () {
|
||||
console.log(
|
||||
'FreeCodeCamp server listening on port %d in %s mode',
|
||||
app.get('port'),
|
||||
app.get('env')
|
||||
);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// start the server if `$ node server.js`
|
||||
if (require.main === module) {
|
||||
app.start();
|
||||
|
16
server/ssl-config.js
Normal file
16
server/ssl-config.js
Normal file
@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Created by nathanleniz on 6/16/15.
|
||||
*/
|
||||
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
exports.privateKey =
|
||||
fs.readFileSync(path.join(__dirname,
|
||||
'../../private/privatekey.pem')).toString();
|
||||
exports.certificate =
|
||||
fs.readFileSync(path.join(__dirname,
|
||||
'../../private/certificate.pem')).toString();
|
||||
|
||||
}
|
@ -11,7 +11,7 @@ block content
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/lib/codemirror.css')
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/addon/lint/lint.css')
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/theme/monokai.css')
|
||||
link(rel="stylesheet", href="http://fonts.googleapis.com/css?family=Ubuntu+Mono")
|
||||
link(rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono")
|
||||
script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js')
|
||||
script(type='text/javascript', src='/js/lib/jailed/jailed.js')
|
||||
script(type='text/javascript', src='/js/lib/coursewares/sandbox.js')
|
||||
|
@ -10,7 +10,7 @@ block content
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/lib/codemirror.css')
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/addon/lint/lint.css')
|
||||
link(rel='stylesheet', href='/js/lib/codemirror/theme/monokai.css')
|
||||
link(rel="stylesheet", href="http://fonts.googleapis.com/css?family=Ubuntu+Mono")
|
||||
link(rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono")
|
||||
script(src='/js/lib/codemirror/mode/javascript/javascript.js')
|
||||
script(src='/js/lib/jailed/jailed.js')
|
||||
script(src='/js/lib/coursewares/sandbox.js')
|
||||
|
Reference in New Issue
Block a user