1.启动spring cloud,创建完成后页面出现报错
FreeMarker template error (DEBUG mode; use RETHROW in production!): The following has evaluated to null or missing: ==> replica.key [in template "eureka/navbar.ftl" at line 68, column 62] --的错误,如图所示
![springcloud报错](https://i-blog.csdnimg.cn/blog_migrate/195650ad29bf6f888ae660b60307c678.png)
检查配置发现application.properties有错误,修改方法见下图
修改完成,重新启动,问题解决!
2 启动spring cloud的消费者程序 出现Connect Timeout Exception on Url - http://localhost:8888.
项目中全局没有配置8888端口,怎么会出现8888呢,原因是pom文件中配置了
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
删掉重新启动,问题解决!
3 消费者使用服务名找不到服务提供者,报 java.net.UnknownHostException
解决方法,将RestTemplate放到application中声明,在controller类中注入RestTemplate实例,代码如下所示
Application
@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerApplication {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
Controller
@RestController
public class ConsumerController {
@Autowired
private RestTemplate restTemplate;
@RequestMapping(value = "/router",method = RequestMethod.GET)
public String router(){
String result = restTemplate.getForObject("http://hahaha/test/test", String.class);
return result;
}
}
4 spring boot 访问/health报404
解决方式:
将/health 改为/actuator/health访问
5 zull和应用sessionId不一致的问题
解决方式:添加 sensitive-headers: "*"
zuul:
host:
maxTotalConnections: 100000 #每个服务的http客户端连接池最大连接,默认是200.适用于ApacheHttpClient,如果是okhttp无效。
maxPerRouteConnections: 10000 #每个route可用的最大连接数,默认值是20。适用于ApacheHttpClient,如果是okhttp无效。
semaphore:
maxSemaphores: 10000 #最大的并发请求。是一个绝对值,无时间窗口,相当于亚毫秒级的。当请求达到或超过该设置值后,其其余就会被拒绝。默认值是100
sensitive-headers: "*"