老师我想请问一下怎么通过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开发工程师全新版
- 参与学习 530 人
- 解答问题 606 个
风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星