cloud config、eureka+security(3个不同公网ip、不同局域网环境的服务器)
每个服务器分别有一个eureka(整合security)和一个config,config只在本地局域网中,eureka向互联网暴露端口。
- config的启动类使用@EnableConfigServer注解,eureka的启动类用@EnableEurekaServer
//Config的Application启动类
@SpringBootApplication
@EnableConfigServer // 启动Cloud Config服务端服务,获取远程git/gitee的配置
public class HttpConfigN03344Application {
public static void main(String[] args) {
SpringApplication.run(HttpConfigN03344Application.class, args);
}
}
//Eureka的Applicatoin启动类
@SpringBootApplication
@EnableEurekaServer // EnableEurekaSever 服务端的启动类,可以接收别人注册进来~
public class HttpEurekaN17001Application {
public static void main(String[] args) {
SpringApplication.run(HttpEurekaN17001Application.class, args);
}
@EnableWebSecurity //用到了security,如果不写这个,会发现服务之间没法相互注册,明明有开放端口
static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().ignoringAntMatchers("/eureka/**");
super.configure(http);
}
}
}
- IDEA中编写Config项目的application.yml以及Eureka的application.yml和bootstrap.yml
###### Config项目的配置文件 application.yml
server:
port: 3344 # 服务的端口,只用来docker网络网桥内访问,docker中不用另外配置-p 3344:3344来映射到宿主机,因为我们只要本地的eureka访问网桥bridge下的该Cloud Config服务的3344端口即可
spring:
application:
name: http-config-n0-3344 #应用名
# 连接远程仓库
cloud:
config:
server:
git:
uri: https://gitee.com/XXXXXX.git # https,不是git,https才能使用下面的账号密码形式,如果用ssh,那么需要用rsa密钥访问。本来我打算用ssh方式,但是尝试了之后失败了,可能我配置下面参数的rsa出错了,但是我按照网络上各种文章以及官方示例,都没整好,就不折腾了
username: gitee账号
password: gitee密码
# 通过 config-server可以连接到git,访问其中的资源以及配置~
###### Eureka项目的application.yml
spring:
application