给zuul添加统一前缀zuul时无法访问的问题

1.未添加统一前缀之前的请求url:

http://localhost:16000/consumer/consumers/1
注意:
1. 16000:网关zuul的端口号
2. consumer:微服务的名称
3. consumers/1:接口请求的映射路径以及参数

2. 添加统一前缀配置:

在application.properties文件中添加如下配置:
zuul.prefix=/zuul
*注意*:第二个zuul是添加的统一前缀,可以自定义,这里我们使用zuul。

3.访问接口consumers:

添加统一前缀后的url:
	http://localhost:16000/zuul/consumer/consumers/1

但此时浏览器会返回404
给zuul添加统一前缀zuul时无法访问的问题_第1张图片

4.分析及解决:

分析:
1. 分析后得知/zuul的默认context-path是/zuul。
2. 之所以在默认的情况下我们不加zuul也可以请求成功是因为它帮我们做了url的裁剪。
(通俗的讲就是不加zuul.prefix=/zuul配置的话,以下两个url都可以请求成功
* http://localhost:16000/consumer/consumers/1
* http://localhost:16000/zuul/consumer/consumers/1)

解决:
1. 将默认context-path设置为空:zuul.servlet-path=/
2. 配置网关zuul的统一前缀:zuul.prefix=/zuul
(如果没有生效的话重启zuul服务)

5.验证

结果如图所示,现在所有的请求必须加上zuul,否则请求失败。
给zuul添加统一前缀zuul时无法访问的问题_第2张图片

你可能感兴趣的:(给zuul添加统一前缀zuul时无法访问的问题)