diff --git a/app.js b/app.js index 90cae7f..05c300b 100644 --- a/app.js +++ b/app.js @@ -36,13 +36,37 @@ var ioOptions = { rememberTransport: false, transports: ['WebSocket', 'AJAX long-polling'] }; + +var https = require('https'); +var fs = require('fs'); + +var options = { + key: fs.readFileSync('/etc/letsencrypt/live/infragram.org/privkey.pem'), + cert: fs.readFileSync('/etc/letsencrypt/live/infragram.org/cert.pem'), + ca: fs.readFileSync('/etc/letsencrypt/live/infragram.org/fullchain.pem') +}; + +var sserver = https.createServer(options, app); + var io = require('socket.io', ioOptions).listen(server, {log: false}); +var sio = require('socket.io', ioOptions).listen(sserver, {log: false}); +//var io = require('socket.io', ioOptions).listen(server); +//var sio = require('socket.io', ioOptions).listen(sserver); // all environments app.set('port', process.env.PORT || 80); //app.set('port', process.env.PORT || 8001); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); + +app.use(function(req,res,next) { + if (!/https/.test(req.protocol)){ + res.redirect("https://" + req.headers.host + req.url); + } else { + return next(); + } +}); + app.use(express.favicon(__dirname + '/public/images/favicon.ico')); app.use(express.logger('dev')); app.use(express.json()); diff --git a/views/index.jade b/views/index.jade index 9765afd..81db4b9 100644 --- a/views/index.jade +++ b/views/index.jade @@ -8,10 +8,11 @@ block content p Infragram is an online tool for analyzing plant health with near-infrared imagery. To learn more, read about our open source cameras, or buy a modded camera from the Public Lab non-profit.

p You can upload images from a camera you have modified with our DIY Filter Pack, or with our pre-modified Point and Shoot Infragram Camera. br + p a.btn-primary.btn-large(style="float:left;" href="/sandbox/") Begin now » - a.btn.btn-default.btn-large(style="float:left;" href="https://publiclab.org/wiki/multispectral-imaging") Get help & learn more - + a.btn.btn-default.btn-large(style="float:left;;margin-left:5px;" href="https://publiclab.org/wiki/multispectral-imaging") Learn more + a.btn.btn-default.btn-large(style="float:left;margin-left:5px;" href="https://publiclab.org/questions/new?tags=infragram,infrared,multispectral-imaging,ndvi,question:infragram,question:infrared,question:multispectral-imaging,question:ndvi&template=question") Ask a question div.span4(style="margin-bottom:6px;") img(width="100%" src="/images/infragram-animated.gif") @@ -46,7 +47,8 @@ block content div.meta span.author= "by "+(image.author || "anon") span.updated_at= " on "+image.updated_at+" " - a(href="#delete-modal" data-toggle="modal" onclick="$('#delete-form').attr('action', '/delete/" + image._id + "');") Delete + a(href="mailto:moderators@publiclab.org?subject=Reporting spam on Infragram.org&body=https://infragram.org") Flag + a(href="#delete-modal" data-toggle="modal" onclick="$('#delete-form').attr('action', '/delete/" + image._id + "');") X if (index+1) % 4 == 0 |