#反向代理 #监控 #代理服务器 #身份验证 #Supabase #实时 #Sense

nightly app http-sense

带有远程监控的HTTP反向代理

14个版本

0.1.11-beta.22023年1月3日
0.1.11-beta.12022年12月25日

1518Web编程

46 每月下载量

MIT 许可证

465KB
2K SLoC

Rust 1K SLoC // 0.1% comments JavaScript 876 SLoC // 0.1% comments TypeScript 48 SLoC // 0.1% comments Svelte 19 SLoC SQL 10 SLoC

HTTP Sense

HTTP Sense是一个反向代理和网络监控工具,它为您的后端服务器和微服务提供全面的网络监控。它提供了一个安全且性能高的网关,可用于监控传入流量。HTTP Sense的功能包括实时流量分析、应用层过滤、用户身份验证等。

HTTP Sense基于Supabase,并利用以下功能

  • Supabase Postgres数据库 - 作为主数据库
  • Supabase身份验证 - 用于RBAC & ABAC
  • Supabase实时 - 用于监听HTTP Sense UI上的实时数据库更改

您可以使用HTTP Sense进行以下操作

  • 作为生产环境的网络监控工具(使用--publish标志)
  • 作为生产服务器或甚至其他较低环境的反向代理
  • 作为开发期间的调试/监控工具,就像浏览器DevTools对浏览器一样
  • 仅限娱乐

参考资料

为开发设置仓库

您需要cargo来安装和运行HTTP Sense CLI。如果您系统上未安装cargo,请按照以下官方rust-lang文档中的指南操作

https://doc.rust-lang.net.cn/cargo/getting-started/installation.html

安装cargo后,您可以使用以下命令启动开发服务器

cargo run -- <YOUR_SERVER_URL> --publish 

使用示例

cargo run -- https://0caf7838-7d0a-4a56-8b04-65a9c6f5815e.mock.pstmn.io --publish
  • 当使用--publish标志时,您不需要单独运行UI服务器,而是可以使用位于https://www.httpsense.com的生产UI
  • 服务器启动后,它将开始拦截并反向代理进入您实际服务器的每个请求,并将监控统计数据发布到通过CLI提供的URL。 请确保在浏览器中打开时复制带hash的URL。

示例

https://www.httpsense.com/526a0f41-a617-4f9e-8b40-f18d40104f99/#YXN5MW9wdE1VcXVWS0E1MHY3TDdDa0hJT0RyOVZqQGV4YW1wbGUuY29tOjp1Ym56Y0FOeEliM0toajdRazU5bW4xWFgwNVBkNnE=

安装

如果您未安装cargo,请参阅上面的部分。安装完成后,请使用以下命令进行HTTP Sense的安装

# To get the latest and greatest version
cargo install --git https://github.com/http-sense/http-sense

安装 HTTP Sense 后,您可以使用下一节中的命令运行 CLI 服务器。

CLI 命令及用法

Usage: http-sense [OPTIONS] <ORIGIN_URL>

TLDR:
   http-sense https://127.0.0.1:8004 --publish

   # use port number as short-hand for localhost servers
   http-sense 8004 --publish            

   http-sense httpsense.com --proxy-port 6001 --publish

   http-sense https://127.0.0.1:8004 --proxy-port 6001 --proxy-addr 0.0.0.0


Options:
      --publish
          Publish requests to supabase db, allowing you to remotely access request details

  -p, --proxy-port <PROXY_PORT>
          Port at which proxy server should listen

          [default: 6100]

  -a, --proxy-addr <PROXY_ADDR>
          Address that proxy server should bind to

          [default: 127.0.0.1]

      --api-port <API_PORT>
          Port at which api server should listen (Alpha)

          [default: 6101]

      --api-addr <API_ADDR>
          Address that api server should bind to

          [default: 127.0.0.1]

  -h, --help
          Print help information (use `-h` for a summary)

  -V, --version
          Print version information

贡献

如果您想为 HTTP Sense 贡献,请阅读并遵循CONTRIBUTING.md中的指南。

维护者

依赖项

~48–66MB
~1.5M SLoC