Kazuho Oku
dd2ea453e4
[spare-pipes] move variables / config knobs to core
2025-04-23 16:09:26 +09:00
Ichito Nagata
faf6912fc3
rename proxy mode enum
2024-11-05 22:23:25 +00:00
Ichito Nagata
d44ff4919a
remove redundant check
2024-10-31 06:57:27 +00:00
Ichito Nagata
9c96b82034
forward expect
2024-10-10 19:38:00 +00:00
Kazuho Oku
5ccb258720
clang-format
2024-02-02 08:03:30 -08:00
Ichito Nagata
198140c6bf
rename from expect_100_continue
to use_expect
2024-01-31 21:46:03 +00:00
Ichito Nagata
1b9fcc2bad
Merge branch 'master' into i110/expect-100-continue
2024-01-31 08:55:52 +00:00
Kazuho Oku
cd622ec128
add directive to turn on/off masque-draft-03 support, in order to declare RFC versions of CONNECT-UDP and CONNECT as production ready
2023-12-17 18:33:58 +09:00
Kazuho Oku
a871fd0831
avoid hard-coding RFC 9298 path
2023-12-17 16:05:46 +09:00
Ichito Nagata
813dfb2b94
wait 100 continue response before sending req body
2023-12-01 09:01:52 +00:00
Kazuho Oku
76d8e1821e
When parsing absolute form that omits /
(i.e., scheme://host?query
), prepend /
to the generated path component, otherwise callers expecting /
at the beginning will start to fail.
2023-11-24 16:11:31 +09:00
Kazuho Oku
bdc2d06bf3
clang-format
2023-11-16 12:58:37 +09:00
Joe Damato
11d1d5022a
Allow 0 for max-spare-pipes to disable the behavior
2023-11-15 09:45:08 -08:00
Joe Damato
d68f62bf8a
Change name of proxy.max-pipes to proxy.max-spare-pipes
2023-11-10 11:48:56 -08:00
Joe Damato
ea994c3aee
Add support for reusing pipes
...
In some cases on highly loaded servers, calling pipe2 to create sockets can
cause kernel lock contention on the file table.
Add a per-thread linked list of pipe file descriptors that can be reused
and add a new proxy.max-pipes config value to control how many pipes per
thread are retained. Default is 64.
Care is taken to drain the read side of the pipe before saving the file
descriptor for reuse.
2023-11-09 17:57:42 -08:00
Kazuho Oku
7c697a7883
deprecate names that stick out
2023-05-04 12:06:11 +09:00
Kazuho Oku
36710ddcdd
reject zero as a config value
2023-04-18 14:46:07 +09:00
Jozef Hatala
fb5bc5c597
Make proxy.forward.close-connection
configurable at all levels.
2022-10-05 23:57:33 -07:00
Kazuho Oku
4f9a05fa16
Use one-word "zerocopy" throughout, following MSG_ZEROCOPY
. This changes proxy.zero-copy
directive added in #2993 as well.
2022-05-18 17:16:54 +09:00
Kazuho Oku
e7845350b5
add knob to toggle use of zero copy
2022-04-19 14:26:42 +09:00
Jozef Hatala
9de7392ca0
Merge with master
.
2022-02-14 20:14:29 -08:00
Jozef Hatala
848f337237
Add config command proxy.http2.force-cleartext
.
...
`proxy.http2.force-cleartext: ON` together with `proxy.http2.ratio: 100`
and with an `http` URL in `proxy.reverse.url` instructs the proxy to use
the cleartext HTTP/2 protocol without discovery or negotiation.
The h2o configuration will be rejected if `proxy.http2.force-cleartext`
is set to `ON` yet `proxy.http2.ratio` is not set to `100`,
This configuration command has no effect if the URL in `proxy.reverse.url` is
an `https` URL because over TLS the ALPN negotiation is mandatory for HTTP/2.
2022-02-14 19:52:24 -08:00
Kazuho Oku
a8e17849ae
add config knobs for happy eyeballs
2021-11-29 13:52:45 +09:00
Jozef Hatala
8d629a8562
Merge with kazuho/connect-udp
. Reintroduce handling h2o_open_udp_tunnel_from_sa
failure.
2021-04-07 03:32:47 -07:00
Jozef Hatala
c0b0d0e089
h2o_encode_sf_string
now lives in <h2o/string_.h>
.
2021-04-01 18:00:59 -07:00
Jozef Hatala
7ec24ba435
No need to NUL-terminate the iovec in encode_sf_string
and on_config_proxy_status_identity
.
2021-04-01 18:00:59 -07:00
Kazuho Oku
823f4cab3b
fix typo
2021-03-26 16:21:11 +09:00
Jozef Hatala
54266f174a
Add error details in a Proxy-Status
header when a CONNECT request fails.
...
This is an implementation of
https://tools.ietf.org/html/draft-ietf-httpbis-proxy-status-03
that allows the client to distinguish the different ways in which CONNECT
requests can fail.
2021-03-25 11:35:47 -07:00
Kazuho Oku
527f009661
ACL for connect
2021-02-15 22:09:22 +09:00
Kazuho Oku
372e6783b9
use proxy.timeout.io
for tunnels too
2021-02-15 10:47:19 +09:00
Kazuho Oku
0577c9bbf5
clang-format
2021-02-03 13:25:31 +09:00
Frederik Deweerdt
3fd2ce5ac6
s/h2o_proxy_register_proxy/h2o_proxy_register_reverse_proxy/
2021-01-14 08:54:41 -08:00
Frederik Deweerdt
16bef54a1d
Rename configuration option to proxy.connect
2021-01-13 12:28:20 -08:00
Frederik Deweerdt
258c54f227
rename the register functions
2021-01-13 12:09:43 -08:00
Frederik Deweerdt
07d8545430
A forward proxy supporting the CONNECT method
...
This PR adds a forward proxy handler that supports the CONNECT method
(which can be used by curl via the `-p -x` options).
2021-01-11 12:44:50 -08:00
Kazuho Oku
7374a3a8e5
Merge branch 'master' into kazuho/connect-method
2021-01-06 14:26:36 +09:00
Kazuho Oku
fb2283c27a
add knob to turn on http3 reverse proxying (both http2.ratio
and http3.ratio
are yet to be documented)
2020-12-25 10:23:42 +09:00
Kazuho Oku
eaa768211e
unify HTTP/3 client API to the generic httpclient API
2020-12-22 17:04:46 +09:00
Kazuho Oku
a5ee409133
support proxying of CONNECT request on H1
2020-12-05 21:35:26 +09:00
Kazuho Oku
ceee764a93
websocket proxying is just one form of tunneling
2020-12-05 14:18:30 +09:00
Roberto Guimaraes
f27add8a32
address review comments. SSL_set_app_data is actually a void function.
2019-07-29 10:35:19 -06:00
Roberto Guimaraes
8336a14ef5
keep deprecated methods for older openssl - avoiding having to check ossl versions
2019-07-23 22:54:38 -06:00
Roberto Guimaraes
147e0d1ab0
add support for ossl-1.1.1 resumption by moving from the get1 session api to the the new_session callback. also set the context and explicit client session behavior when creating new ossl CTXs.
...
Fixes 50reverse-proxy-session-resumption.t when linking against openssl-1.1.1
2019-07-23 22:22:28 -06:00
Kazuho Oku
526c69ed7e
clang-format
2019-04-12 11:53:48 +09:00
Kazuho Oku
409064278b
Merge pull request #2008
...
add 'H2O_ERROR_PRINTF' macro, default is 'fprintf(stderr,...)'
2019-03-29 07:25:32 +01:00
Kazuho Oku
0a68ee8d37
clang-format
2019-03-29 05:00:53 +01:00
Kazuho Oku
f915e5882d
use lowercase for consistency with h2o_perror
(there's no need to clarify it as a macro)
2019-03-29 04:59:23 +01:00
Toru Maesaka
149a1c5dc5
proxy: add a proxy.forward.close-connection setting
2019-03-20 14:35:17 -07:00
Baodong Chen
6e99cb4915
add 'H2O_ERROR_PRINTF' macro instead of 'fprintf(stderr,...)' directly
2019-03-16 20:22:03 +08:00
Kazuho Oku
004b35b4ac
apply misc/clang-format-all.sh
2019-02-24 11:00:33 +09:00