docs.rs failed to build pingap-0.3.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
pingap-0.12.0
pingap
What is Pingap
A reverse proxy like nginx, built on pingora, simple and efficient.
Feature
- Filter location by host and path
- HTTP 1/2 end to end proxy
- TOML base configuration, file or etcd storage
- Graceful reload and auto restart after the configuration is changed
- Template for http access log
- Admin Web UI configuration
- Genrate TLS certificates from let's encrypt
- Http proxy plugins:
compression,static serve,limit,stats,mock, etc.
Start
Loads all configurations from /opt/proxy and run in the background. Log appends to /opt/proxy/pingap.log.
RUST_LOG=INFO
Graceful restart
Validate the configurations, send quit signal to pingap, then start a new process to handle all requests.
RUST_LOG=INFO && && RUST_LOG=INFO
Config
All toml configurations are as follows pingap.toml.
Proxy step
graph TD;
start("New Request")-->server("HTTP Server");
server -- "host:HostA, Path:/api/*" --> locationA("Location A")
server -- "Path:/rest/*"--> locationB("Location B")
locationA -- "Exec Plugins" --> locationPluginListA("Plugin List A")
locationB -- "Exec Plugins" --> locationPluginListB("Plugin List B")
locationPluginListA -- "proxy pass: 10.0.0.1:8001" --> upstreamA1("Upstream A1") --> response
locationPluginListA -- "proxy pass: 10.0.0.2:8001" --> upstreamA2("Upstream A2") --> response
locationPluginListA -- "done" --> response
locationPluginListB -- "proxy pass: 10.0.0.1:8002" --> upstreamB1("Upstream B1") --> response
locationPluginListB -- "proxy pass: 10.0.0.2:8002" --> upstreamB2("Upstream B2") --> response
locationPluginListB -- "done" --> response
response("HTTP Response") --> stop("Logging");
Performance
CPU: M2, Thread: 1
Rust version
Our current MSRV is 1.74
License
This project is Licensed under Apache License, Version 2.0.