Commit Graph

373 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
23c292e6cd Change the return value to const, so the const non-matching input can just be
returned.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647334 13f79535-47bb-0310-9956-ffa450edef68
2014-12-22 15:39:54 +00:00
85d1a0ba01 Allow SetHandler+UDS+fcgi to take advantage of dedicated workers including
opting in to connection reuse and other proxy options (max=, etc).

adds 'enablereuse' proxyoption and a minor MMN bump to share
proxy_desocketfy outside of mod_proxy.c, which is required to
match workers to URLs.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1647009 13f79535-47bb-0310-9956-ffa450edef68
2014-12-20 15:56:16 +00:00
074c9cce56 Might as well make it 256 and be done w/ it. The extra bytes are
moot nowaways.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621382 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 20:39:22 +00:00
6be32ac353 PR53218
Allow for longer worker names and make truncation a non-fatal
error... 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1621367 13f79535-47bb-0310-9956-ffa450edef68
2014-08-29 19:17:45 +00:00
c0a52f109d mod_proxy: add ap_proxy_define_match_worker() and use it for ProxyPassMatch
and ProxyMatch section to distinguish between normal workers and workers
with regex substitutions in the name. Implement handling of such workers
in ap_proxy_get_worker(). PR 43513


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1609680 13f79535-47bb-0310-9956-ffa450edef68
2014-07-11 10:36:15 +00:00