springboot代理配置,本地访问测试环境数据库、测试环境elasticsearch
背景
本地项目启动需要直接连接测试环境的数据库、ES以及其他资源
配置
- ES和其他一些资源的访问通过springboot配置走代理访问。比如我这里
@EnableAsync
@EnableScheduling
@SpringBootApplication
public class ApplicationStartUp {
public static void main(String[] args) {
String proxyHost = "127.0.0.1";
String proxyPort = "7890";
System.setProperty("http.proxyHost", proxyHost);
System.setProperty("http.proxyPort", proxyPort);
// 对https也开启代理
System.setProperty("https.proxyHost", proxyHost);
System.setProperty("https.proxyPort", proxyPort);
SpringApplication.run(ApplicationStartUp.class, args);
}
}
-
mysql访问通过配置SSH代理 复制如下代码,改下配置,然后spring.datasource.url的地址中的host和port替换为127.0.0.1:3306即可。注意引入pom
<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency>
package cn.thecover.data.copyright.website.config;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.stereotype.Component;
import reactor.core.Disposable;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@Component
@Slf4j
public class SshConfiguration1 implements ServletContextInitializer, Disposable {
Session session = new JSch().getSession("ssh用户名", "ssh地址", 22);
public SshConfiguration1() throws JSchException {
}
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
try {
session.setPassword("ssh密码");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
//参数1:本地访问端口 参数3:mysql参数
session.setPortForwardingL(3306, "mysql地址", 3306);
}catch (Exception e){
log.error("ssh初始化失败", e);
}
}
@Override
public void dispose() {
if(session.isConnected()){
session.disconnect();
}
}
}
参考
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » springboot代理配置,本地访问测试环境数据库、测试环境elasticsearch
发表评论 取消回复