bleenco / bproxy Goto Github PK
View Code? Open in Web Editor NEWhigh-performance minimal HTTP reverse proxy
License: MIT License
high-performance minimal HTTP reverse proxy
License: MIT License
Print to logger time, source-ip, requested hostname, requested url, response time.
I noticed that watching live job logs on https://ci.bleenco.io only work for some time, let's say job is running 6 minutes but logging is outputed only for 1-2min. When performing a refresh everything works again.
I believe http://docs.libuv.org/en/v1.x/tcp.html#c.uv_tcp_keepalive should be applied somewhere, @martinopresnik will know the best where.
When request is made with multiple chunks (POST request sending data), http parsing crashes on 2nd chunk.
If server behind proxy is already running on SSL it doesn't work while accessing via bproxy
configured as SSL.
@martinopresnik please note that this bug is critical and it has very high priority as we currently cannot use HTTP/2 push feature behind on our servers because it requires running on SSL.
Proxy connection never closes.
In case server behind configured proxy stops working websocket connections established via proxy remains open. They should close.
After some hours of running I got
double free or corruption (!prev)
with program crashing after that. @martinopresnik any idea?
Each proxy should send additional headers with initial request so the server behind proxy knows information about the client.
Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers the Proxy
section;
Add our own header in response so if someone checks it knows it was proxied by our reverse proxy,
just like everyone else do.
header name is server
, add server: bproxy [VERSION]
, example for nginx:
@jkuri please provide a docker to @martinopresnik for setting up this experiments.
Following the issue #54
@martinopresnik let's focus on bombardier
or hey
to see whether we get similar results to wrk
.
Here is the list: https://github.com/denji/awesome-http-benchmark
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.