mod_proxy_hcheck.c

Checkout Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merging r1853560 from trunk:

*) mod_proxy_hcheck: Create the configure for mod_proxy_hcheck when used in BalancerMember.

PR 60757

  1. … 1 more file in changeset.
mod_proxy_hcheck: mod_proxy_hcheck: mute "run from watchdog" message.

This is way too verbose (every 100ms) to be logged at any LogLevel.

Backport of r1853992 from trunk.

Proposed by: rjung

Backported by: rjung

Reviewed by: rjung, jailletc36, jim

  1. … 3 more files in changeset.
Merge of r1862014 from trunk:

*) mod_proxy_hcheck fix for BZ 60948

  1. … 1 more file in changeset.
Merge r1859371, r1859422 from trunk:

mod_proxy/ssl: Proxy SSL client certificate

configuration and other proxy SSL configurations

broken inside <Proxy> context.

PR 63430

Triggered by r1855646+r1855748.

Patch from rpluem (proxy) and ylavic (ssl).

Follow up to r1859371: extend to other ap_proxy_connection_create[_ex]() users.

This function now now handles SSL reuse as well as the "proxy-request-hostname"

note (SNI), so let's also call it unconditionnaly in all proxy modules.

On the mod_ssl side, since this note has the lifetime of the connection, don't

reset/unset it during handshake (ssl_io_filter_handshake).

Submitted by: rjung, ylavic

Reviewed by: rjung, rpluem, ylavic

  1. … 10 more files in changeset.
mod_proxy_hcheck: Fix issues with interval determination. PR 62318

trunk patch: http://svn.apache.org/r1838937

2.4.x patch: svn merge -c 1838937 ^/httpd/httpd/trunk .

+1: jim, ylavic, minfrin

  1. … 3 more files in changeset.
mod_proxy_hcheck: Fix issues with TCP health checks. PR 61499

trunk patch: http://svn.apache.org/r1840582

2.4.x patch: svn merge -c 1840582 ^/httpd/httpd/trunk .

+1: jim, ylavic, minfrin

  1. … 3 more files in changeset.
mod_proxy_hcheck: take balancer's SSLProxy* directives into account.

trunk patch: http://svn.apache.org/r1836276

2.4.x patch: svn merge -c 1836276 ^/httpd/httpd/trunk .

+1: jim, ylavic, minfrin

  1. … 3 more files in changeset.
Merge r1795834, r1828912, r1830943, r1830944, r1832991 from trunk:

Remove empty line.

* modules/ssl/ssl_util.c (ssl_util_vhostid): Simplify code,

no functional change.

Save a few cycles and simlify code.

Use apr_pstrmemdup instead of apr_pstrndup when possible.

Avoid scanning the first 2 bytes when looking for the | delimiter. it is known to be "${".

Avoid comma separated statements, it is not that usual.

Save a few cycles.

Use apr_pstrmemdup instead of apr_pstrndup when possible.

* modules/proxy/mod_proxy_hcheck.c (sctx_t, hc_create_config):

Remove unused bucket allocator created off pconf.

Tag the subpool.

Submitted by: jailletc36, jorton, jailletc36, jailletc36, jorton

Reviewed by: jailletc36, covener, jim

  1. … 5 more files in changeset.
Merge r1824176, r1824460, r1824482 from trunk:

mod_proxy: Provide an RFC1035 compliant version of the hostname in the

proxy_worker_shared structure. PR62085

Tone down the message that worker hostname is too long noting it only

affects legacy modules not yet using hostname_ex.

Set the notice when hostname is too long for legacy proxy modules to info level.

Submitted by: minfrin

Reviewed by: minfrin, jim, ylavic

  1. … 10 more files in changeset.
Merge r1799435, r1799437, r1805206, r1805322 from trunk:

Allow WatchdogInterval to be sub 1 second

Allow finer control over hcheck intervals... minimum is whatever

the watchdog slice is.

Fix remaining lint from ms capability for hchecks.

userland change = we now are OK w/ ms

Submitted by: jim

Reviewed by: jim, covener, ylavic

  1. … 5 more files in changeset.
On the 2.4.x branch:

Merged /httpd/httpd/trunk:r1784203,1784205,1784227-1784228,1784275,1785871,1786009,1789387

mod_proxy_hcheck: Honor checks in Vhosts w/o hanging

  1. … 4 more files in changeset.
Merge r1779574, r1779623 from trunk:

mod_proxy_hcheck: Don't validate timed out responses.

mod_proxy_hcheck: follow up to r1779574.

Parse/validate response bodies.

Submitted by: ylavic

Reviewed by: ylavic, jim, druggeri

  1. … 3 more files in changeset.
Merge r1779573 from trunk:

mod_proxy_hcheck: thread-safety.

Use the thread pool everywhere for the needs/lifetime of the request to

the backend.

Submitted by: ylavic

  1. … 3 more files in changeset.
Merge r1757662 from trunk:

* Add missing copy of hcuri and hcexpr ftom the worker to the health check worker.

PR: 60038

Submitted by: zdeno <zdeno@scnet.sk>

Submitted by: rpluem

Reviewed/backported by: jim

  1. … 3 more files in changeset.
Merge r1753777 from trunk:

Permit mod_proxy_hcheck.c to compile on Win32 32-bit architectures.

This decoration is required for all apr_thread fn() entry points,

at least on some platforms.

Submitted by: wrowe

Reviewed/backported by: jim

  1. … 2 more files in changeset.
svn:eol-style native

  1. … 6 more files in changeset.
Merge r1722177, r1722195, r1722229, r1722320, r1722328, r1722334, r1722350, r1722351, r1722358, r1722377, r1723953, r1724879, r1724992, r1724993, r1724995, r1725018, r1725031, r1725120, r1725328, r1725387, r1725489, r1725498, r1725499, r1725523, r1725545, r1725567, r1725581, r1725602, r1725822, r1725967, r1726038, r1726049, r1726051, r1726052, r1726055, r1725090, r1728326, r1737020 from trunk:

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.

Make aware of new status: Failed Health Check.

Store the number of current passes/fails in shm

finish looping logic... place-holder for actual checking

Better check

move to per server conf, useful for adding HealthCheckCondition

Now implement the condition ruleset definition. The

actual checking will be done in the actual health check

routine.

just check watched servers... use 'hc' prefix for sub directives

Check that we have names for both templates and

conditions

command changes

Don't bother w/ methods that return bodies. We don't

handle them now anyway.

Use enums and structs to keep things better organized

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.

Since every check needs this, do this in the main

check loop. Allows some optimizations.

move scope

pull this out... large enough for a func

Move to a set of health check workers, mapping to

each worker itself, instead of a single reused generic

worker.

some ordering optimization

Make balancer manager health-check aware

And we now allow for health checks via OPTIONS *

Leverage the OPTIONS code for HEAD as well...

So we now support: TCP, OPTIONS and HEAD.

Right now, anything other than an error (even a 404)

is consider a PASS.

Fill in APLOGNO.

I hope that doesn't result in merge trouble

for Jim.

Open up hook/scar to allow for passes/fails and

method to be changed via bal-man...

OPTIONS/HEAD proxy function should be diff from simple TCP check

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.

Start impl of expr conditions for runtime checks

Adjust log levels

correct error string

Use worker status character defines taken

from mod_proxy.h instead of explicit characters.

Noted by rpluem.

With the updated ap_expr, we can now check for the

returned response body, stored in kept_body

Assign log message tags

Implement expr lookup in mod_proxy_hcheck for

variables whose names start with "HC_" and for

the new function hc().

Currently only HC_BODY and hc(body) are supported.

Both return the saved body of the health check

response to be used in an expr that decides about

success of a check.

Fix copy&paste error in new function.

Try fixing new proxy_hcheck expr extension.

Interestingly mod_ssl using NULL as well,

but some other module I wrote uses parms->name.

Adjust

clash :)

Enabling a worker via health-check also moves them out of

ERROR more (which may have been set via the static

"health" check done via mod_proxy).

Some flow improvements...

Submitted by: jim, rjung, jim, jim, jim, jim, jim, jim, rjung, jim, jim, rjung, rjung, rjung, jim, jim, olegk, jim, jim

Reviewed/backported by: jim

  1. … 350 more files in changeset.