Skip to content

1005281342/httproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

httproxy

http服务反向代理

环境

北极星

单机版安装

go

1.16+

启动

启动grpchttp/example/hello

cd grpchttp/example/hello
go run hello.go -f ./etc/hello.yaml

启动proxy

go run proxy.go

测试

curl --location --request POST '127.0.0.1:2333/hello.Hello/Say' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "test"
}'

使用grpchttp给grpc服务注册HTTP接口 以grpchttp/example/hello为例

注意:使用较新的proto工具生产的桩代码是有可导出的Desc对象的,不需要再执行1、2步

  1. 在stub代码目录下添加文件grpchttp.go(其他合法名字也可以)。
  2. 在grpchttp.go文件中添加可导出对象ServiceDesc代码:
    package hello
    
    var ServiceDesc = _Hello_serviceDesc
  3. 在hello.go中注册HTTP接口
    var mux http.ServeMux
    httpgrpc.HandleServices(mux.HandleFunc, "/", reg, nil, nil)
    lis, err := net.Listen("tcp", fmt.Sprintf(":%d", c.HttpPort))
    if err != nil {
        panic(err)
    }
    logx.Infof("http port: %s", lis.Addr().String())
    
    httpServer := http.Server{Handler: &mux}
    go httpServer.Serve(lis)
    defer httpServer.Close()

About

http服务反向代理

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published