最近遇到一个问题,在内网环境中部署的项目需要调用外网完成一些应用,一般情况我们可以通过增加一台机器,部署到可以访问外网的服务器上,然后内网直接连接该机器通过Nginx进行代理即可。但是出于安全考虑以及各个服务都是由多个微服务组成,需要接入SSO实现认证后才能访问
实现过程
-
定义一个配置文件,后面可以在
application.yml中通过配置实现代理不同网站
@Getter
@Setter
@ConfigurationProperties(prefix = "proxy")
public class ProxyProperties {
/**
* 需要代理的服务列表
*/
private Map<String,Server> servers;
/**
*
*/
@Getter@Setter
public static class Server{
private String path;
private String target;
private String name;
}
}
-
引入Spring依赖,在编写配置时可以自动提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure-processor</artifactId>
<optional>true</optional>
</dependency>
-
该功能实现的主要依赖
<dependency>
<groupId>org.mitre.dsmiley.httpproxy</groupId>
<artifactId>smiley-http-proxy-servlet</artifactId>
<version>2.0</version>
</dependency>
-
增加AutoConfiguration,包含两个步骤
a) 定义一个ProxyServletConfiguration配置 这里我们基于ImportBeanDefinitionRegistr


1113

被折叠的 条评论
为什么被折叠?



