springboot代理配置,本地访问测试环境数据库、测试环境elasticsearch

背景

本地项目启动需要直接连接测试环境的数据库、ES以及其他资源

配置

  1. 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);
    }
}
  1. 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();
        }
    }
}

参考

java springboot使用ssh连接数据库仅需三步

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部