broken pipe when downloading data using low bandwidth ( http2 )
- Vorherrschende Sprache
- Rust
- Sterne
- 24.8k
- Forks
- 1.9k
- Ø Merge
- 23 Std. 10 Min.
- Gemergte PRs (30 T.)
- 26
Beschreibung
With new Actix-web `4.0.x` with https ( http2 ) our devices with low bandwidth connection can not download 20-30MB binary data from `acitx_web` server. Devices reported error like:
`broken pipe` `connection reset`
When using low bandwidth connection downloading data form `actix_web` server fail with e.g.:
```
* Failed receiving HTTP2 data
* LibreSSL SSL_write: Broken pipe, errno 32
* Failed sending HTTP2 data
```
## Steps to Reproduce
1. Get `actix example` https://github.com/actix/examples/tree/master/https-tls/rustls and run it `cargo run`
2. Copy cca 20MB file `big_file` into `static` folder
3. run curl with rate limiter: `curl --limit-rate 100k -v 'https://localhost:8443/static/big_file' --insecure > test`
```
7 26.9M 7 1968k 0 0 99k 0 0:04:35 0:00:19 0:04:16 99k* LibreSSL SSL_read: Connection reset by peer, errno 54
* Failed receiving HTTP2 data
* LibreSSL SSL_write: Broken pipe, errno 32
* Failed sending HTTP2 data
7 26.9M 7 1984k 0 0 100k 0 0:04:33 0:00:19 0:04:14 103k
* Connection #0 to host localhost left intact
curl: (56) LibreSSL SSL_read: Connection reset by peer, errno 54
(base)
```
Note:
- Without argument `--limit-rate 100k` -> it works as expected.
- http works as expected ( just https is problem )
- devices using `reqwest` rust crate not `curl` to download data. Same result.
## Context
Downloading binary data from actix-web server. ( program updates )
## Your Environment
Production environment: raspberry pi ( arm )
Dev environment: macOS
- Rust Version (I.e, output of `rustc -V`): rustc 1.59.0
- Actix Web Version: 4.0.1
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.