老师我想请问一下怎么通过nginx 去转发nacos的stream
package main import ( "fmt" "github.com/nacos-group/nacos-sdk-go/v2/clients" "github.com/nacos-group/nacos-sdk-go/v2/common/constant" "github.com/nacos-group/nacos-sdk-go/v2/vo" ) func main() { serverConfigs := []constant.ServerConfig{ { IpAddr: "127.0.0.1", Port: 8848, //IpAddr: "www.nacos.top", //ContextPath: "/nacos", //Port: 8848, //Scheme: "http", }, } // 创建clientConfig clientConfig := constant.ClientConfig{ NamespaceId: "3013d5b2-0ae6-4e5b-9d64-1bebe06fd8f7", // 如果需要支持多namespace,我们可以创建多个client,它们有不同的NamespaceId。当namespace是public时,此处填空字符串。 TimeoutMs: 5000, NotLoadCacheAtStart: true, LogDir: "tmp/nacos/log", CacheDir: "tmp/nacos/cache", LogLevel: "debug", } // 创建动态配置客户端 configClient, err := clients.CreateConfigClient(map[string]interface{}{ "serverConfigs": serverConfigs, "clientConfig": clientConfig, }) if err != nil { panic(err) } content, err := configClient.GetConfig(vo.ConfigParam{ DataId: "user-web.yaml", Group: "dev"}) fmt.Println(content) }
# http server { listen 8848; server_name www.nacos.top; location / { proxy_pass http://127.0.0.1:8848; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # stream upstream nacos-grpc-9848 { server 127.0.0.1:9848; } upstream nacos-grpc-9849 { server 127.0.0.1:9849; } server { listen 9848 ; # grpc方式对外暴露端口 proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass nacos-grpc-9848; # 此处TCP端口转发代理 } server { listen 9849 ; # grpc方式对外暴露端口 proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass nacos-grpc-9849; # 此处TCP端口转发代理 }
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m -e JVM_XMN=256m -p 8848:8848 -p 9848:9848 -p 9849:9849 -d nacos/nacos-server:latest
在docker 多暴漏了2个需要的端口后, 我通过127.0.0.1:8848是可以正确的获取配置
因为我是macos所以使用了虚拟机,通过ng希望配置成域名访问.
域名访问(www.nacos.top)nacos-web是可以成功的,目前就是9848这个端口的rpc感觉访问不上.
使用telnet www.nacos.top(改host的域名)可以连接9848
9
收起
正在回答 回答被采纳积分+1
Go开发工程师全新版
- 参与学习 490 人
- 解答问题 559 个
风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星