From aa48af86a69f59fbf0e347bf215cc783b766e863 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Tue, 14 Feb 2023 17:44:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E5=8F=82=E6=95=B0=E8=B0=83?= =?UTF-8?q?=E6=95=B4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../neutrino/core/context/Environment.java | 9 +++++-- .../core/web/context/WebContextHolder.java | 5 +--- .../server/proxy/core/ProxyServerRunner.java | 25 +++++++++++++------ 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/context/Environment.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/context/Environment.java index 45645214..c10aa7cb 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/context/Environment.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/context/Environment.java @@ -107,7 +107,7 @@ public class Environment { return getMainArgsMap().get(key); } - public Integer getMainArgsForInteger(String key) { + public Integer getMainArgsForInteger(String key, Integer defaultValue) { String val = getMainArgs(key); Integer res = null; try { @@ -117,6 +117,11 @@ public class Environment { } catch (Exception e) { // ignore } - return res; + return (null != res) ? res : defaultValue; + } + + public String getMainArgsForString(String key, String defaultValue) { + String res = getMainArgs(key); + return !StringUtil.isEmpty(res) ? res : defaultValue; } } diff --git a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/context/WebContextHolder.java b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/context/WebContextHolder.java index fe9f66e5..996740c6 100644 --- a/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/context/WebContextHolder.java +++ b/neutrino-core/src/main/java/fun/asgc/neutrino/core/web/context/WebContextHolder.java @@ -71,10 +71,7 @@ public class WebContextHolder { initMaxContentLength(); initControllerBeanWrapperList(); initInterceptorRegistry(); - port = environment.getMainArgsForInteger("neutrino.http.port"); - if (null == port) { - port = http.getPort(); - } + port = environment.getMainArgsForInteger("neutrino.http.port", http.getPort()); } public static String getHttpContextPath() { diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ProxyServerRunner.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ProxyServerRunner.java index 1fc3e49b..06ec536b 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ProxyServerRunner.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/proxy/core/ProxyServerRunner.java @@ -27,6 +27,7 @@ import fun.asgc.neutrino.core.annotation.Bean; import fun.asgc.neutrino.core.annotation.Component; import fun.asgc.neutrino.core.annotation.NonIntercept; import fun.asgc.neutrino.core.context.ApplicationRunner; +import fun.asgc.neutrino.core.context.Environment; import fun.asgc.neutrino.core.util.FileUtil; import fun.asgc.neutrino.proxy.core.ProxyMessageDecoder; import fun.asgc.neutrino.proxy.core.ProxyMessageEncoder; @@ -60,6 +61,8 @@ public class ProxyServerRunner implements ApplicationRunner { private NioEventLoopGroup serverBossGroup; @Autowired("serverWorkerGroup") private NioEventLoopGroup serverWorkerGroup; + @Autowired + private Environment environment; @Override public void run(String[] args) { @@ -80,15 +83,17 @@ public class ProxyServerRunner implements ApplicationRunner { } }); try { - bootstrap.bind(proxyConfig.getServer().getPort()).sync(); - log.info("代理服务启动,端口:{}", proxyConfig.getServer().getPort()); + Integer port = environment.getMainArgsForInteger("neutrino.proxy.server.port", proxyConfig.getServer().getPort()); + bootstrap.bind(port).sync(); + log.info("代理服务启动,端口:{}", port); } catch (Exception e) { log.error("代理服务异常", e); } } private void startProxyServerForSSL() { - if (null == proxyConfig.getServer().getSslPort()) { + Integer sslPort = environment.getMainArgsForInteger("neutrino.proxy.server.ssl-port", proxyConfig.getServer().getSslPort()); + if (null == sslPort) { return; } ServerBootstrap bootstrap = new ServerBootstrap(); @@ -101,8 +106,8 @@ public class ProxyServerRunner implements ApplicationRunner { } }); try { - bootstrap.bind(proxyConfig.getServer().getSslPort()).sync(); - log.info("代理服务启动,SSL端口: {}", proxyConfig.getServer().getSslPort()); + bootstrap.bind(sslPort).sync(); + log.info("代理服务启动,SSL端口: {}", sslPort); } catch (Exception e) { log.error("代理服务异常", e); } @@ -110,12 +115,16 @@ public class ProxyServerRunner implements ApplicationRunner { private ChannelHandler createSslHandler() { try { - InputStream jksInputStream = FileUtil.getInputStream(proxyConfig.getServer().getJksPath()); + String jksPath = environment.getMainArgsForString("neutrino.proxy.server.jks-path", proxyConfig.getServer().getJksPath()); + InputStream jksInputStream = FileUtil.getInputStream(jksPath); SSLContext serverContext = SSLContext.getInstance("TLS"); final KeyStore ks = KeyStore.getInstance("JKS"); - ks.load(jksInputStream, proxyConfig.getServer().getKeyStorePassword().toCharArray()); + + String keyStorePassword = environment.getMainArgsForString("neutrino.proxy.server.key-store-password", proxyConfig.getServer().getKeyStorePassword()); + ks.load(jksInputStream, keyStorePassword.toCharArray()); final KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); - kmf.init(ks, proxyConfig.getServer().getKeyManagerPassword().toCharArray()); + String keyManagerPassword = environment.getMainArgsForString("neutrino.proxy.server.key-manager-password", proxyConfig.getServer().getKeyManagerPassword()); + kmf.init(ks, keyManagerPassword.toCharArray()); TrustManager[] trustManagers = null; serverContext.init(kmf.getKeyManagers(), trustManagers, null);