labs/arthas-grpc-web-proxy/README.md
项目启动流程:
前端grpc-web请求ip和port配置: 配置文件
app.use(ViewUIPlus)
.use(router)
.provide("apiHost","http://localhost:8567")
.mount('#app')
后端端口配置: 配置文件, 修改GRPC_WEB_PROXY_PORT变量,即可配置grpc-web代理服务端口。
若需要配置grpc服务端口和http页面服务端口, 分别修改GRPC_PORT和HTTP_PORT即可
*注意, 前后端grpc-web代理服务端口需一致(默认使用端口号: 8567)
mvn compile
启动 com.taobao.arthas.grpcweb.grpc.DemoBootstrap
启动后,命令行终端会打印出访问地址
Open your web browser and navigate to http://127.0.0.1:{http_port}/index.html
本项目中使用到的grpc-web代理服务
from: https://github.com/grpc/grpc-web/tree/1.4.2/src/connector
原项目已废弃删除,本项目改用 netty 来做转发。
原项目需要 .proto 文件编译的 .class才能运行,比如GreeterGrpc,本项目同样有这个问题。
工程导入IDE之后,进入test目录
在 com.taobao.arthas.grpcweb.proxy.server.GrpcWebProxyServerTest 启动测试
也可以用原项目的相关工程来测试
可以用其它的 grpc web proxy来抓包辅助验证。
下载envoy 后,可以用本项目里的envoy.yaml
envoy --config-path ./envoy.yaml下载后,启动:
grpcwebproxy --backend_addr 127.0.0.1:9090 --run_tls_server=false --allow_all_origins