Repository: storm Updated Branches: refs/heads/master 5a1539fda -> 834eb107e
Allow ability to enable/disable http binding Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/da554572 Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/da554572 Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/da554572 Branch: refs/heads/master Commit: da554572000b802681876fd6ec5e9d12359675c8 Parents: 8f9061a Author: Kishor Patil <[email protected]> Authored: Tue Sep 11 11:47:14 2018 -0400 Committer: Kishor Patil <[email protected]> Committed: Tue Sep 11 15:34:25 2018 -0400 ---------------------------------------------------------------------- conf/defaults.yaml | 3 +++ .../main/java/org/apache/storm/DaemonConfig.java | 18 ++++++++++++++++++ .../org/apache/storm/daemon/drpc/DRPCServer.java | 3 ++- .../storm/daemon/logviewer/LogviewerServer.java | 3 ++- .../org/apache/storm/daemon/ui/UIHelpers.java | 11 +++++------ .../java/org/apache/storm/daemon/ui/UIServer.java | 4 ++-- 6 files changed, 32 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/conf/defaults.yaml ---------------------------------------------------------------------- diff --git a/conf/defaults.yaml b/conf/defaults.yaml index da4753a..7f6a921 100644 --- a/conf/defaults.yaml +++ b/conf/defaults.yaml @@ -97,6 +97,7 @@ ui.users: null ui.header.buffer.bytes: 4096 ui.http.creds.plugin: org.apache.storm.security.auth.DefaultHttpCredentialsPlugin ui.pagination: 20 +ui.disable.http.binding: true logviewer.port: 8000 logviewer.childopts: "-Xmx128m" @@ -104,6 +105,7 @@ logviewer.cleanup.age.mins: 10080 logviewer.appender.name: "A1" logviewer.max.sum.worker.logs.size.mb: 4096 logviewer.max.per.worker.logs.size.mb: 2048 +logviewer.disable.http.binding: true logs.users: null @@ -122,6 +124,7 @@ drpc.https.keystore.type: "JKS" drpc.http.creds.plugin: org.apache.storm.security.auth.DefaultHttpCredentialsPlugin drpc.authorizer.acl.filename: "drpc-auth-acl.yaml" drpc.authorizer.acl.strict: false +drpc.disable.http.binding: true transactional.zookeeper.root: "/transactional" transactional.zookeeper.servers: null http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-server/src/main/java/org/apache/storm/DaemonConfig.java ---------------------------------------------------------------------- diff --git a/storm-server/src/main/java/org/apache/storm/DaemonConfig.java b/storm-server/src/main/java/org/apache/storm/DaemonConfig.java index 9eaf6f6..64c934a 100644 --- a/storm-server/src/main/java/org/apache/storm/DaemonConfig.java +++ b/storm-server/src/main/java/org/apache/storm/DaemonConfig.java @@ -304,6 +304,24 @@ public class DaemonConfig implements Validated { public static final String UI_PORT = "ui.port"; /** + * This controls wheather Storm UI should bind to http port even if ui.port is > 0. + */ + @isBoolean + public static final String UI_DISABLE_HTTP_BINDING = "ui.disable.http.binding"; + + /** + * This controls wheather Storm Logviewer should bind to http port even if logviewer.port is > 0. + */ + @isBoolean + public static final String LOGVIEWER_DISABLE_HTTP_BINDING = "logviewer.disable.http.binding"; + + /** + * This controls wheather Storm DRPC should bind to http port even if drpc.http.port is > 0. + */ + @isBoolean + public static final String DRPC_DISABLE_HTTP_BINDING = "drpc.disable.http.binding"; + + /** * Storm UI Project BUGTRACKER Link for reporting issue. */ @isString http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java ---------------------------------------------------------------------- diff --git a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java index fdd2c7f..2815810 100644 --- a/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java +++ b/storm-webapp/src/main/java/org/apache/storm/daemon/drpc/DRPCServer.java @@ -102,10 +102,11 @@ public class DRPCServer implements AutoCloseable { final String httpsTsType = (String) (conf.get(DaemonConfig.DRPC_HTTPS_TRUSTSTORE_TYPE)); final Boolean httpsWantClientAuth = (Boolean) (conf.get(DaemonConfig.DRPC_HTTPS_WANT_CLIENT_AUTH)); final Boolean httpsNeedClientAuth = (Boolean) (conf.get(DaemonConfig.DRPC_HTTPS_NEED_CLIENT_AUTH)); + final Boolean disableHttpBinding = (Boolean) (conf.get(DaemonConfig.DRPC_DISABLE_HTTP_BINDING)); //TODO a better way to do this would be great. DRPCApplication.setup(drpc); - ret = UIHelpers.jettyCreateServer(drpcHttpPort, null, httpsPort); + ret = UIHelpers.jettyCreateServer(drpcHttpPort, null, httpsPort, disableHttpBinding); UIHelpers.configSsl(ret, httpsPort, httpsKsPath, httpsKsPassword, httpsKsType, httpsKeyPassword, httpsTsPath, httpsTsPassword, httpsTsType, httpsNeedClientAuth, httpsWantClientAuth); http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java ---------------------------------------------------------------------- diff --git a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java index 07b971c..c9ede6e 100644 --- a/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java +++ b/storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/LogviewerServer.java @@ -83,9 +83,10 @@ public class LogviewerServer implements AutoCloseable { final String httpsTsType = (String) (conf.get(DaemonConfig.LOGVIEWER_HTTPS_TRUSTSTORE_TYPE)); final Boolean httpsWantClientAuth = (Boolean) (conf.get(DaemonConfig.LOGVIEWER_HTTPS_WANT_CLIENT_AUTH)); final Boolean httpsNeedClientAuth = (Boolean) (conf.get(DaemonConfig.LOGVIEWER_HTTPS_NEED_CLIENT_AUTH)); + final Boolean disableHttpBinding = (Boolean) (conf.get(DaemonConfig.LOGVIEWER_DISABLE_HTTP_BINDING)); LogviewerApplication.setup(conf); - ret = UIHelpers.jettyCreateServer(logviewerHttpPort, null, httpsPort); + ret = UIHelpers.jettyCreateServer(logviewerHttpPort, null, httpsPort, disableHttpBinding); UIHelpers.configSsl(ret, httpsPort, httpsKsPath, httpsKsPassword, httpsKsType, httpsKeyPassword, httpsTsPath, httpsTsPassword, httpsTsType, httpsNeedClientAuth, httpsWantClientAuth); http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java ---------------------------------------------------------------------- diff --git a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java index a080599..9f6f81f 100644 --- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java +++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIHelpers.java @@ -39,7 +39,6 @@ import javax.servlet.DispatcherType; import javax.servlet.Servlet; import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; - import org.apache.storm.Config; import org.apache.storm.Constants; import org.apache.storm.DaemonConfig; @@ -379,18 +378,18 @@ public class UIHelpers { /** * Construct a Jetty Server instance. */ - public static Server jettyCreateServer(Integer port, String host, Integer httpsPort) { - return jettyCreateServer(port, host, httpsPort, null); + public static Server jettyCreateServer(Integer port, String host, Integer httpsPort, Boolean disableHttpBinding) { + return jettyCreateServer(port, host, httpsPort, null, disableHttpBinding); } /** * Construct a Jetty Server instance. */ public static Server jettyCreateServer(Integer port, String host, - Integer httpsPort, Integer headerBufferSize) { + Integer httpsPort, Integer headerBufferSize, Boolean disableHttpBinding) { Server server = new Server(); - if (httpsPort == null || httpsPort <= 0) { + if (httpsPort == null || httpsPort <= 0 || disableHttpBinding == null || disableHttpBinding == false) { HttpConfiguration httpConfig = new HttpConfiguration(); httpConfig.setSendDateHeader(true); if (null != headerBufferSize) { @@ -415,7 +414,7 @@ public class UIHelpers { public static void stormRunJetty(Integer port, String host, Integer httpsPort, Integer headerBufferSize, IConfigurator configurator) throws Exception { - Server s = jettyCreateServer(port, host, httpsPort, headerBufferSize); + Server s = jettyCreateServer(port, host, httpsPort, headerBufferSize, false); if (configurator != null) { configurator.execute(s); } http://git-wip-us.apache.org/repos/asf/storm/blob/da554572/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java ---------------------------------------------------------------------- diff --git a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java index 9afd2d2..3c43249 100644 --- a/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java +++ b/storm-webapp/src/main/java/org/apache/storm/daemon/ui/UIServer.java @@ -93,11 +93,11 @@ public class UIServer { final String httpsTsType = (String) (conf.get(DaemonConfig.UI_HTTPS_TRUSTSTORE_TYPE)); final Boolean httpsWantClientAuth = (Boolean) (conf.get(DaemonConfig.UI_HTTPS_WANT_CLIENT_AUTH)); final Boolean httpsNeedClientAuth = (Boolean) (conf.get(DaemonConfig.UI_HTTPS_NEED_CLIENT_AUTH)); + final Boolean disableHttpBinding = (Boolean) (conf.get(DaemonConfig.UI_DISABLE_HTTP_BINDING)); Server jettyServer = UIHelpers.jettyCreateServer( - (int) conf.get(DaemonConfig.UI_PORT), null, httpsPort, headerBufferSize - ); + (int) conf.get(DaemonConfig.UI_PORT), null, httpsPort, headerBufferSize, disableHttpBinding); UIHelpers.configSsl(jettyServer, httpsPort, httpsKsPath, httpsKsPassword, httpsKsType, httpsKeyPassword, httpsTsPath, httpsTsPassword, httpsTsType, httpsNeedClientAuth, httpsWantClientAuth);
