开发者社区 > 云原生 > 正文

不支持更改nacos服务器的contextPath?

Nacos Discovery

描述你遇到的问题

我使用docker启动了nacos-server, 启动命令如下:

docker run --name=nacos
--restart=always
-p 8848:8848
-e MODE=standalone
-e MYSQL_MASTER_SERVICE_HOST=172.0.0.1
-e MYSQL_MASTER_SERVICE_PORT=3306
-e MYSQL_MASTER_SERVICE_DB_NAME=nacos
-e MYSQL_MASTER_SERVICE_USER=root
-e MYSQL_MASTER_SERVICE_PASSWORD=123456
-e SERVER_SERVLET_CONTEXTPATH=/
-d nacos/nacos-server:1.1.3

然后我可以直接访问 127.0.0.1:8848/ 而不需要使用 127.0.0.1:8848/nacos/ .

springboot 程序使用如下配置:

pom.xml: org.springframework.boot spring-boot-starter-web 2.1.8.RELEASE com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 2.1.0.RELEASE

应用程序.yml:

server: port: 9999 spring: application: name: nacos-server cloud: nacos: discovery: server-addr: 127.0.0.1:8848

程序启动后,获得了异常报错:

java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried: failed to req API:127.0.0.1:8848/nacos/v1/ns/instance. code:401 msg:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sat Sep 28 23:22:51 GMT+08:00 2019
There was an unexpected error (type=Unauthorized, status=401).
Unauthorized

问题

我认为应该是请求 /v1/nas/instance 而不是 /nacos/v1/ns/instance, 直接访问 http://127.0.0.1:8848/v1/ns/instance 可以获得 Param 'serviceName' is required. 这样的信息; 访问 http://127.0.0.1:8848/nacos/v1/ns/instance 我只能看见 401 错误页面。我应该怎么配置?

原提问者GitHub用户zzycreate

展开
收起
白夜行fighting 2023-06-11 10:16:48 166 0
1 条回答
写回答
取消 提交回答
  • 您最好删除SERVER_SERVLET_CONTEXTPATH,上下文路径使用/ncos默认值。

    原回答者GitHub用户echooymxq

    2023-06-11 11:22:06
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

热门讨论

热门文章

相关电子书

更多
大规模云服务器高效使用及管理最佳实践 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载