转发标准 HTTP 协议

sofa-mosn/examples/http-sample
样例工程演示了如何配置 SOFAMesh 来转发标准 HTTP 协议,而 SOFAMesh 之间的协议是 HTTP/2。

准备

需要一个编译好的 SOFAMesh 程序:

  1. cd ${projectpath}/pkg/mosn
  2. go build

将编译好的程序移动到当前目录,目录结构如下

  1. mosn //Mesh程序
  2. server.go //HTTP Server
  3. server.json //HTTP Server的配置
  4. client.json //HTTP Client的配置

运行说明

启动一个 HTTP Server

  1. go run server.go

启动代理 HTTP Server 的 Mesher

  1. ./mosn start -c server.json

启动代理 HTTP Client 的 Mesher

  1. ./mosn start -c client.json

使用 CURL 进行验证

  • 按照默认的配置设置,HTTP Server 监听本地 8080 端口,HTTP Client 代理监听本地 2046 端口
  • Mesher 代理配置转发请求为 Header 中包含 service:com.alipay.test.TestService:1.0
  1. //直接访问 HTTP Sever,观察现象
  2. curl http://127.0.0.1:8080
  3. //能收到 HTTP Server 返回的结果
  4. curl --header "service:com.alipay.test.TestService:1.0" http://127.0.0.1:2046
  5. //不能收到 HTTP Server 返回的结果(其实是返回了 404 Not Found
  6. curl http://127.0.0.1:2046
  • 可以按照说明修改配置,进行不同的测试与验证