1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

428 Commits

Author SHA1 Message Date
Ruediger Pluem
942e18adda * ap_proxy_balancer_get_best_worker cannot be exported and used as an optional
function at the same time. So rename ap_proxy_balancer_get_best_worker to
  proxy_balancer_get_best_worker and make it static which is then used as an
  optional function and recreate ap_proxy_balancer_get_best_worker as an
  exported thin wrapper of proxy_balancer_get_best_worker.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836603 13f79535-47bb-0310-9956-ffa450edef68
2018-07-25 06:22:53 +00:00
Ruediger Pluem
81e420cfb0 * mod_proxy: Remove load order and link dependency between mod_lbmethod_*
modules and mod_proxy by providing mod_proxy's ap_proxy_balancer_get_best_worker
  as an optional function.

PR: 62557


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836381 13f79535-47bb-0310-9956-ffa450edef68
2018-07-20 19:27:31 +00:00
Eric Covener
bd1ccf5f0a PR62199: add worker parameter ResponseFieldSize to mod_proxy
Submitted By: Hank Ibell
Committed By: covener




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828926 13f79535-47bb-0310-9956-ffa450edef68
2018-04-11 19:11:52 +00:00
Jim Riggs
55b4505765 mod_proxy_balancer: Add hot spare member type and corresponding flag (R). Hot spare members are
used as drop-in replacements for unusable workers in the same load balancer set. This differs
from hot standbys which are only used when all workers in a set are unusable. PR 61140.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1828890 13f79535-47bb-0310-9956-ffa450edef68
2018-04-11 12:11:05 +00:00
Graham Leggett
fac7f995b0 mod_proxy: Provide an RFC1035 compliant version of the hostname in the
proxy_worker_shared structure. PR62085


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1824176 13f79535-47bb-0310-9956-ffa450edef68
2018-02-13 21:22:05 +00:00
Joe Orton
25c4764422 Fix ProxyAddHeaders merging.
* modules/proxy/mod_proxy.h:
  Add add_forwarded_headers_set field to proxy_dir_conf.

* modules/proxy/mod_proxy.c (create_proxy_dir_config, ):
  Initialize add_forwarded_headers_set.
  (add_proxy_http_headers): Set it.
  (merge_proxy_dir_config): Merge add_forwarded_headers correctly.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1805099 13f79535-47bb-0310-9956-ffa450edef68
2017-08-15 16:54:22 +00:00
Jim Jagielski
5cc32e6983 unused now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1799438 13f79535-47bb-0310-9956-ffa450edef68
2017-06-21 13:21:55 +00:00
Jean-Frederic Clere
61ca36599d Add upgrade parameter to mod_proxy_wstunnel.
That allows to upgrade to jboss-remoting for example
or to run an HTTP/1.1 backend that needs to upgrade to
WebSocket.
See also:
 https://issues.jboss.org/browse/JBCS-254
 https://issues.jboss.org/browse/JBCS-291


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1792092 13f79535-47bb-0310-9956-ffa450edef68
2017-04-20 17:07:32 +00:00
Yann Ylavic
1bda0469cf [mod_proxy_]http: follow up to r1750392.
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection(),
so that all the necessary checks on the connection are done before reusing it.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756186 13f79535-47bb-0310-9956-ffa450edef68
2016-08-12 13:58:10 +00:00
Yann Ylavic
104ef73c95 Revert r1756064 and r1756060 until fixed (tests framework passes).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756065 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 23:37:45 +00:00
Yann Ylavic
2023d56eea [mod_proxy_]http: follow up to r1750392.
Export [ap_]check_pipeline() and use it also for ap_proxy_check_connection().

[Reverted by r1756065]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756060 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 22:32:42 +00:00
Rainer Jung
d79b514c4b Fix spelling in comments and text files.
No functional change.
PR 59990


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1756038 13f79535-47bb-0310-9956-ffa450edef68
2016-08-11 19:50:02 +00:00
Yann Ylavic
f8cf275514 mod_proxy: follow up to r1750392: comment on proxy_conn_rec->tmp_bb.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750494 13f79535-47bb-0310-9956-ffa450edef68
2016-06-28 12:10:34 +00:00
Yann Ylavic
26faec4940 mod_proxy: follow up to r1750392.
Avoid double checking the connection in ap_proxy_connect_backend() when
ap_proxy_check_backend() says it is up and good to go.

This can be done by moving the PROXY_WORKER_IS_USABLE() check in
ap_proxy_check_backend(), since it is called by ap_proxy_connect_backend(),
and not calling the latter if the former succeeded (for the modules using it).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750474 13f79535-47bb-0310-9956-ffa450edef68
2016-06-28 11:19:36 +00:00
Yann Ylavic
b031a1ffed mod_proxy: we don't need ap_proxy_ssl_connection_cleanup() anymore with
ap_proxy_check_backend() used at connection reuse time, so remove its last call and deprecate it.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750416 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 21:49:15 +00:00
Yann Ylavic
d4aa6476b2 mod_proxy_{http,ajp,fcgi}}: don't reuse backend connections with data available
before the request is sent.  PR 57832.

ap_proxy_check_backend() can be used before ap_proxy_connect_backend() to try
to read available data (including from the filters), and is called by
ap_proxy_connect_backend() to check the socket state only (as before, still
relevant after ap_proxy_check_backend() due to filter data which may not have
triggered a real socket operation).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750392 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 17:26:12 +00:00
Yann Ylavic
4ddbed1baf mod_proxy: revert r1750301, r1750305 and r1750311.
Rework needed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750376 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 16:06:42 +00:00
Yann Ylavic
d2e75e1d51 mod_proxy: don't reuse backend connections with data available before the
request is sent.  PR 57832.

[Reverted by r1750376]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1750301 13f79535-47bb-0310-9956-ffa450edef68
2016-06-27 08:00:30 +00:00
Yann Ylavic
0c7d2c0b1d Follow up to r1740928: updates for Netware build.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741112 13f79535-47bb-0310-9956-ffa450edef68
2016-04-26 22:31:19 +00:00
Yann Ylavic
f9ad2754f7 mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1740928 13f79535-47bb-0310-9956-ffa450edef68
2016-04-26 00:04:57 +00:00
Yann Ylavic
b6f5963438 mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy
AJP13 authentication.  PR 53098.

Proposed by: Dmitry A. Bakshaev <dab1818 gmail com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1738878 13f79535-47bb-0310-9956-ffa450edef68
2016-04-12 23:09:07 +00:00
Yann Ylavic
7614326743 mod_proxy: follow up to r1729826 + r1729847 + r1732986.
Don't use magic constants.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733056 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:35:01 +00:00
Yann Ylavic
9a6583a778 Revert r1733054: spurious commit of being-worked mod_reqtimeout changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733055 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:33:50 +00:00
Yann Ylavic
f3008b6253 mod_proxy: follow up to r1729826 + r1729847 + r1732986.
Don't use magic constants.

Reverted by r1733055, re-commited without spurious changes in r1733056.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733054 13f79535-47bb-0310-9956-ffa450edef68
2016-03-01 12:31:40 +00:00
Yann Ylavic
447582e5f4 mod_proxy: axe negative "ping" parameter setting and handling.
This used to check for the backend connection readability only (instead of
the full ping/100-continue round-trip), but the case is already handled by
ap_proxy_connect_backend() which is always called.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729507 13f79535-47bb-0310-9956-ffa450edef68
2016-02-09 23:38:59 +00:00
Rainer Jung
233afba4a7 Standardize order of "extern" and XXX_DECLARE_YYY.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728779 13f79535-47bb-0310-9956-ffa450edef68
2016-02-06 00:30:37 +00:00
Rainer Jung
b4c9ef848f Remove recent new marker macroPROXY_HOOK_NON_LINKED
and instead use PROXY_DECLARE_OPTIONAL_HOOK which
is defined to be equal to APR_DECLARE_EXTERNAL_HOOK.

Correct explanation for the use of
PROXY_DECLARE_OPTIONAL_HOOK.

Use PROXY_DECLARE_OPTIONAL_HOOK for the correct
hooks.

Adjust build/make_nw_export.awk to match the new
PROXY_DECLARE_OPTIONAL_HOOK.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728663 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 13:27:56 +00:00
Rainer Jung
ba1ab80876 Allow Netware awk script which handles proxy
symbol import/export to differentiate between
hooks which call APR_HOOK_LINK() in the C
files and those who don't by marking them
in the header file.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728656 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 12:31:33 +00:00
Stefan Eissing
b08bf052b4 seems to work better in this order
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728631 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 10:41:00 +00:00
Rainer Jung
fa29d04871 Guess some platforms need PROXY_DECLARE_DATA
for data shared between proxy modules and
declared to be extern.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728572 13f79535-47bb-0310-9956-ffa450edef68
2016-02-05 00:16:52 +00:00
Ruediger Pluem
fbf68524d3 * Introduce ap_proxy_transfer_between_connections
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728478 13f79535-47bb-0310-9956-ffa450edef68
2016-02-04 13:41:19 +00:00
Jim Jagielski
ddc56a597b Now honor changed params!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728203 13f79535-47bb-0310-9956-ffa450edef68
2016-02-02 20:28:13 +00:00
Jim Jagielski
ee6d08cab1 Tie bal-man to hcheck for dynamic adjustments... right now,
actually editing not implemented yet.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728161 13f79535-47bb-0310-9956-ffa450edef68
2016-02-02 17:23:43 +00:00
Jim Jagielski
62a5f9e552 Since these are externs, prepend proxy_
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728148 13f79535-47bb-0310-9956-ffa450edef68
2016-02-02 15:21:38 +00:00
Jim Jagielski
ad328cbcf4 expose more worker status info in prep for making
more dynamically changable

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728142 13f79535-47bb-0310-9956-ffa450edef68
2016-02-02 14:56:30 +00:00
Ruediger Pluem
67ddd9009c * Introduce ap_proxy_buckets_lifetime_transform as a replacement for
proxy_buckets_lifetime_transform in mod_proxy_http. Another future consumer
  of this will be mod_proxy_wstunnel.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1726779 13f79535-47bb-0310-9956-ffa450edef68
2016-01-26 12:13:56 +00:00
Jim Jagielski
929bed749f Adjust so that watchdog runs every 2 seconds
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725976 13f79535-47bb-0310-9956-ffa450edef68
2016-01-21 15:08:25 +00:00
Jim Jagielski
a107563a23 And make the list of health check conditions viewable via
the balancer manager :)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725609 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 20:48:33 +00:00
Jim Jagielski
1049c6d727 Start impl of expr conditions for runtime checks
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725545 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 15:29:25 +00:00
Jim Jagielski
89674b5612 For OPTIONS and HEAD, only 2xx and 3xx are considered "passing"
(until I implement the conditions expr testing)... honor
the pass/fail count and LOG_INFO when the health check enables
or disables a backend worker.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725523 13f79535-47bb-0310-9956-ffa450edef68
2016-01-19 14:14:27 +00:00
Jim Jagielski
26019784af Expose this in our API
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725306 13f79535-47bb-0310-9956-ffa450edef68
2016-01-18 16:54:06 +00:00
Jim Jagielski
2fda66ec46 Make balancer manager health-check aware
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1725120 13f79535-47bb-0310-9956-ffa450edef68
2016-01-17 20:12:09 +00:00
Jim Jagielski
9f2dd3550e 1st cut of 'simple' tcp check... We reuse various proxy
function and so this *could* be more streamlined, but
use this to show how the other would work, since we need
brigades, SSL/TLS support, etc.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724879 13f79535-47bb-0310-9956-ffa450edef68
2016-01-15 21:37:23 +00:00
Jim Jagielski
d1c307f15a per rplum suggestion. thx!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1724017 13f79535-47bb-0310-9956-ffa450edef68
2016-01-11 13:06:03 +00:00
Jim Jagielski
b66e366bdc Use enums and structs to keep things better organized
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1723953 13f79535-47bb-0310-9956-ffa450edef68
2016-01-10 19:20:31 +00:00
Jim Jagielski
0bfe3c0cd8 move to per server conf, useful for adding HealthCheckCondition
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722328 13f79535-47bb-0310-9956-ffa450edef68
2015-12-30 13:28:12 +00:00
Jim Jagielski
4d3ab92dbf Make aware of new status: Failed Health Check.
Store the number of current passes/fails in shm

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722195 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 17:42:19 +00:00
Jim Jagielski
33aceece57 Commit framework impl of health-check module plus
required changes. The actual health checking is
currently in progress, but wanted to add in at
this stage.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1722177 13f79535-47bb-0310-9956-ffa450edef68
2015-12-29 16:12:04 +00:00
Jim Jagielski
2b7a352917 Abstract out as macro
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1721759 13f79535-47bb-0310-9956-ffa450edef68
2015-12-26 21:29:21 +00:00
Jan Kaluža
fd61b03b75 * mod_proxy: Allow setting options to globally defined balancer from
ProxyPass used in VirtualHost. Balancers are now merged using the new
  merge_balancers method which merges the balancers options.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1667707 13f79535-47bb-0310-9956-ffa450edef68
2015-03-19 11:29:55 +00:00