You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/09/21 04:39:47 UTC

ignite git commit: # IGNITE-1502 Add ssl support for web console.

Repository: ignite
Updated Branches:
  refs/heads/ignite-843 e5051e9c3 -> f106b40b7


# IGNITE-1502 Add ssl support for web console.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f106b40b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f106b40b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f106b40b

Branch: refs/heads/ignite-843
Commit: f106b40b77fb80ca91e3fcb6680b37c5b015b176
Parents: e5051e9
Author: Andrey <an...@gridgain.com>
Authored: Mon Sep 21 09:39:45 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Mon Sep 21 09:39:45 2015 +0700

----------------------------------------------------------------------
 modules/control-center-web/src/main/js/app.js   | 22 ++++++++--
 modules/control-center-web/src/main/js/bin/www  | 43 ++++++++++++++++----
 .../src/main/js/config/default.json             | 23 ++++++-----
 .../control-center-web/src/main/js/package.json |  4 +-
 4 files changed, 68 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f106b40b/modules/control-center-web/src/main/js/app.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/app.js b/modules/control-center-web/src/main/js/app.js
index 4eb5edb..6bba806 100644
--- a/modules/control-center-web/src/main/js/app.js
+++ b/modules/control-center-web/src/main/js/app.js
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-var flash = require('connect-flash');
 var express = require('express');
 var compress = require('compression');
 var path = require('path');
@@ -85,8 +84,6 @@ app.use(session({
     })
 }));
 
-app.use(flash());
-
 app.use(passport.initialize());
 app.use(passport.session());
 
@@ -174,4 +171,23 @@ app.use(function (err, req, res) {
     });
 });
 
+/**
+ * Normalize a port into a number, string, or false.
+ */
+function normalizePort(val) {
+    var port = parseInt(val, 10);
+
+    if (isNaN(port)) {
+        // named pipe
+        return val;
+    }
+
+    if (port >= 0) {
+        // port number
+        return port;
+    }
+
+    return false;
+}
+
 module.exports = app;

http://git-wip-us.apache.org/repos/asf/ignite/blob/f106b40b/modules/control-center-web/src/main/js/bin/www
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/bin/www b/modules/control-center-web/src/main/js/bin/www
index cbc637a..a55c5e0 100644
--- a/modules/control-center-web/src/main/js/bin/www
+++ b/modules/control-center-web/src/main/js/bin/www
@@ -7,6 +7,7 @@ var http = require('http');
 var https = require('https');
 var config = require('../helpers/configuration-loader.js');
 var app = require('../app');
+var forceSSL = require('express-force-ssl');
 var agentManager = require('../agents/agent-manager');
 
 var fs = require('fs');
@@ -16,14 +17,13 @@ var debug = require('debug')('ignite-web-control-center:server');
 /**
  * Get port from environment and store in Express.
  */
-var port = normalizePort(process.env.PORT || config.get('express:port'));
-app.set('port', port);
+var port = normalizePort(process.env.PORT || config.get('server:port'));
 
-/**
- * Create HTTP server.
- */
+// Create HTTP server.
 var server = http.createServer(app);
 
+app.set('port', port);
+
 /**
  * Listen on provided port, on all network interfaces.
  */
@@ -31,16 +31,41 @@ server.listen(port);
 server.on('error', onError);
 server.on('listening', onListening);
 
+if (config.get('server:ssl')) {
+    httpsServer = https.createServer({
+        key: fs.readFileSync(config.get('server:key')),
+        cert: fs.readFileSync(config.get('server:cert')),
+        passphrase: config.get('server:keyPassphrase')
+    }, app);
+
+    var httpsPort = normalizePort(process.env.PORT || config.get('server:https-port'));
+
+    app.set('forceSSLOptions', {
+        enable301Redirects: true,
+        trustXFPHeader: true,
+        httpsPort: httpsPort
+    });
+
+    app.use(forceSSL);
+
+    /**
+     * Listen on provided port, on all network interfaces.
+     */
+    httpsServer.listen(httpsPort);
+    httpsServer.on('error', onError);
+    httpsServer.on('listening', onListening);
+}
+
 /**
  * Start agent server.
  */
 var agentServer;
 
-if (config.get('monitor:server:ssl')) {
+if (config.get('agent-server:ssl')) {
     agentServer = https.createServer({
-    key: fs.readFileSync(config.get('monitor:server:key')),
-    cert: fs.readFileSync(config.get('monitor:server:cert')),
-    passphrase: config.get('monitor:server:keyPassphrase')
+    key: fs.readFileSync(config.get('agent-server:key')),
+    cert: fs.readFileSync(config.get('agent-server:cert')),
+    passphrase: config.get('agent-server:keyPassphrase')
   });
 }
 else {

http://git-wip-us.apache.org/repos/asf/ignite/blob/f106b40b/modules/control-center-web/src/main/js/config/default.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/config/default.json b/modules/control-center-web/src/main/js/config/default.json
index 19e1fba..bf1e88b 100644
--- a/modules/control-center-web/src/main/js/config/default.json
+++ b/modules/control-center-web/src/main/js/config/default.json
@@ -1,18 +1,21 @@
 {
-    "express": {
-        "port": 3000
+    "server": {
+        "port": 3000,
+        "https-port": 8443,
+        "ssl": false,
+        "key": "keys/test.key",
+        "cert": "keys/test.crt",
+        "keyPassphrase": "password"
     },
     "mongoDB": {
         "url": "mongodb://localhost/web-control-center"
     },
-    "monitor": {
-        "server": {
-            "port": 3001,
-            "ssl": true,
-            "key": "keys/test.key",
-            "cert": "keys/test.crt",
-            "keyPassphrase": "password"
-        }
+    "agent-server": {
+        "port": 3001,
+        "ssl": true,
+        "key": "keys/test.key",
+        "cert": "keys/test.crt",
+        "keyPassphrase": "password"
     },
     "smtp": {
         "service": "",

http://git-wip-us.apache.org/repos/asf/ignite/blob/f106b40b/modules/control-center-web/src/main/js/package.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/package.json b/modules/control-center-web/src/main/js/package.json
index f2969b2..b8f514e 100644
--- a/modules/control-center-web/src/main/js/package.json
+++ b/modules/control-center-web/src/main/js/package.json
@@ -24,11 +24,11 @@
     "body-parser": "~1.13.3",
     "bootstrap-sass": "^3.3.5",
     "compression": "1.5.2",
-    "connect-flash": "^0.1.1",
     "connect-mongo": "^0.8.1",
     "cookie-parser": "~1.3.4",
     "debug": "~2.2.0",
     "express": "~4.13.3",
+    "express-force-ssl": "^0.3.0",
     "express-session": "^1.11.1",
     "jade": "~1.11.0",
     "lodash": "3.10.1",
@@ -36,10 +36,10 @@
     "mongoose-deep-populate": "2.0.1",
     "nconf": "^0.7.2",
     "node-sass-middleware": "0.9.0",
+    "nodemailer": "1.4.0",
     "passport": "^0.3.0",
     "passport-local": "^1.0.0",
     "passport-local-mongoose": "2.0.0",
-    "nodemailer": "1.4.0",
     "serve-favicon": "~2.3.0",
     "ws": "~0.8.0"
   },