大家好,欢迎来到IT知识分享网。
最近在看 nacos,因为项目上的规划,需要用到微服务。虽然以前看过微服务,但是都忘得差不多了,最近项目上规划要用到微服务,所以我就去了解了解。
在学习nacos的过程中,需要nacos集群,因为是自学,所以肯定是在本地自行部署多个端口进行集群,我使用的是 nacos 1.41 版本。
nacos 的集群也十分简单,这里不做过多的讲述,我主要把坑的地方写出来,主要是 cluster.conf 配置文件,刚开始的内容配置如下:
127.0.0.1:8845
127.0.0.1.8846
127.0.0.1.8847
然后配置 nginx 进行反向代理到这三台机器上,nginx的配置我就不上了,这里主要是说问题。
nginx配置完成后,启动集群,再启动nginx,访问nginx代理端口,我配置的依然是80端口,访问 http://localhost/nacos ,访问没问题。
接下来就是项目上配置集群了,项目上的配置如下:
spring:
application:
name: orderservice
profiles:
active: dev # 环境
cloud:
nacos:
server-addr: localhost:80 # nacos地址
config:
file-extension: yaml # 文件后缀名
ok,配置完成后,启动项目,如你所见,标题中的错误,其完整的错误日志如下:
failed to req API:/nacos/v1/ns/instance after all servers([localhost:80]) tried:
ErrCode:400, ErrMsg:<html><body><h1>Whitelabel Error Page</h1><p>This application has no
explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>
Sun Mar 20 17:51:42 CST 2022</div><div>There was an unexpected error (type=Bad Request,
status=400).</div><div>receive invalid redirect request from peer 127.0.0.1</div></body>
</html>
就这个问题,我花了几个小时去查,网上愣是没看到一个能解决的答案。没有答案,我只能自己慢慢分析了。
在反复查看日志的过程中,我看到了如下错误日志
receive invalid redirect request from peer 127.0.0.1
简单的翻译就是 “无效的重定向请求”,也就是说重定向到 127.0.0.1 是无效的。
深入了解后,在不同端口启动nacos-server的集群配置文件cluster.conf中需使用【真实ip】,不然无法找到真正的实例。
所以 cluster.conf 配置文件,把 127.0.0.1 改成本机的真实 ip ,然后再重启集群,致此改问题解决。
期间还碰到了一个问题,就是配置不生效,因为 spring cloud 中 nacos 有默认的注册中心地址——localhost:8848,也就是说你不刻意加配置,他就默认走了 localhost:8848。
我的问题是,我配置了 localhost:8849,但是它给我报的错是拒绝连接,而且是连不上 localhost:8848,但是我配置的是 localhost:8849。当时就把我整懵逼了,不过一番检查下来,发现是我的格式写的有点问题,我用的yml格式,用的又是eclipse,没法知道格式是否正确,所以不小心写错,改正过来就行了。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24059.html