1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-14 01:22:37 +03:00
Commit Graph

309 Commits

Author SHA1 Message Date
Jeff Trawick
d79b9a03c5 mod_proxy: Add ap_connection_reusable() for checking if a connection
is reusable as of this point in processing.

mod_proxy_fcgi uses the new API to determine if FCGI_CONN_CLOSE
should be enabled, but that doesn't change existing behavior
since the connection is currently marked for closure elsewhere
in the module.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1526189 13f79535-47bb-0310-9956-ffa450edef68
2013-09-25 14:29:02 +00:00
Jim Jagielski
357828f9d2 Allow for a simple socket check in addition to the
higher level protocol-level checks for backends...

Not sure if it makes sense to do both or not... Comments?

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1516930 13f79535-47bb-0310-9956-ffa450edef68
2013-08-23 16:48:42 +00:00
Jeff Trawick
c66c301b57 fix Doxygen warnings/comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1513458 13f79535-47bb-0310-9956-ffa450edef68
2013-08-13 12:28:31 +00:00
Jim Jagielski
3919a404e3 update comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1483178 13f79535-47bb-0310-9956-ffa450edef68
2013-05-16 03:13:29 +00:00
Graham Leggett
9bc9d79079 core: Stop the HTTP_IN filter from attempting to write error buckets
to the output filters, which is bogus in the proxy case. Create a
clean mapping from APR codes to HTTP status codes, and use it where
needed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1482522 13f79535-47bb-0310-9956-ffa450edef68
2013-05-14 18:58:06 +00:00
Graham Leggett
d2e6782ea7 mod_proxy, mod_proxy_http: Connection headers must be stripped on the way
in and out, support an optional function to handle this.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1482075 13f79535-47bb-0310-9956-ffa450edef68
2013-05-13 20:11:36 +00:00
Jim Jagielski
d7c8ba3992 Mod_proxy used the global pool w/o mutex. fix.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1480627 13f79535-47bb-0310-9956-ffa450edef68
2013-05-09 13:33:02 +00:00
Daniel Ruggeri
d31632f33c Add failontimeout to allow server admin to mark balancer member in err if IO timeout occurs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1465839 13f79535-47bb-0310-9956-ffa450edef68
2013-04-09 00:18:42 +00:00
Jim Jagielski
2bea7fb2bf Pull out duplicated code to proxy_util...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1453875 13f79535-47bb-0310-9956-ffa450edef68
2013-03-07 14:06:51 +00:00
Jim Jagielski
f5f921a2f2 Add in rough uds support (Bugx 54101) from Blaise Tarr <blaise.tarr@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1451633 13f79535-47bb-0310-9956-ffa450edef68
2013-03-01 16:21:49 +00:00
Jim Jagielski
317eca4540 realign and fix logic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1448630 13f79535-47bb-0310-9956-ffa450edef68
2013-02-21 13:19:30 +00:00
Jim Jagielski
0d13f604c1 ProxyPassInherit directive
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1439404 13f79535-47bb-0310-9956-ffa450edef68
2013-01-28 13:58:24 +00:00
Jim Jagielski
74708ea8f3 Allow for searching w/i shm slots for a specific worker and balancer
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421953 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 16:14:06 +00:00
Rainer Jung
b63656829c Use inherit_set to let the global server set
the default for all vhosts.

Otherwise inherit would need to be disabled
redundantly in each vhost.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421912 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 15:02:30 +00:00
Jim Jagielski
bdafd4e926 Anticipate ordering for 2.4 backport
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421852 13f79535-47bb-0310-9956-ffa450edef68
2012-12-14 13:30:45 +00:00
Jim Jagielski
59bc7bcaff API sync... not crucial for trunk
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1418049 13f79535-47bb-0310-9956-ffa450edef68
2012-12-06 19:58:04 +00:00
Jim Jagielski
6ec40f4835 Allow for setting of sticky session split char...
Bugz 53893


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1404653 13f79535-47bb-0310-9956-ffa450edef68
2012-11-01 16:06:43 +00:00
Jim Jagielski
b360fcb2d2 OK, enable/allow previous broken, bad behavior iff the user
really, really wants it. And warn that b-m isn't recommended
in those cases.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1388029 13f79535-47bb-0310-9956-ffa450edef68
2012-09-20 13:41:45 +00:00
Jim Jagielski
664dd95af2 Persist local balancer-manager changes across restart/graceful.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1387110 13f79535-47bb-0310-9956-ffa450edef68
2012-09-18 12:15:50 +00:00
Joe Orton
6c41025260 Fix handling of ProxyBlock if a forward proxy is configured, and fix
mod_proxy_connect to avoid an inappropriate DNS lookup:

* modules/proxy/proxy_util.c (ap_proxy_checkproxyblock): Take hostname
  argument, make address argument optional.  Check names against
  hostname arg, omit if addr not given.
  (ap_proxy_determine_connection): Adjust for the above; pass hostname
  from URI not the next hop.

* modules/proxy/mod_proxy_ftp.c (proxy_ftp_handler): Adjust for
  ap_proxy_checkproxyblock change.

* modules/proxy/mod_proxy_connect.c (proxy_connect_handler): Adjust
  similarly, and avoid the DNS lookup on the request-URI hostname if a
  proxy is used.

* include/ap_mmn.h: Bump MMN.

PR: 43697


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1365001 13f79535-47bb-0310-9956-ffa450edef68
2012-07-24 12:17:00 +00:00
Ruediger Pluem
e948002f96 * Add the forcerecovery balancer parameter that determines if recovery for
balancer workers without considering the retry value of workers is enforced.
  There might be cases where an already overloaded backend can get into deeper
  trouble if the recovery of all workers is enforced without considering the
  retry parameter of each worker


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1306409 13f79535-47bb-0310-9956-ffa450edef68
2012-03-28 15:22:40 +00:00
Jim Jagielski
732f60dc2c Handle cases, esp when using mod_proxy_fcgi, when we do not
want SCRIPT_FILENAME to include the query string.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1242351 13f79535-47bb-0310-9956-ffa450edef68
2012-02-09 15:07:22 +00:00
William A. Rowe Jr
33d94f3328 Cure size_t abuse, curse some recent code [recommit good bits from r1227852]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227856 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:50:31 +00:00
William A. Rowe Jr
07e32f24db Revert a whole mess that was not ment to be committed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227855 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:48:21 +00:00
William A. Rowe Jr
0d1f9f658a Cure size_t abuse, curse some recent code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1227852 13f79535-47bb-0310-9956-ffa450edef68
2012-01-05 21:43:24 +00:00
Graham Leggett
411fceeda5 mod_proxy: Remove dead code ap_proxy_table_unmerge().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209952 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 17:09:58 +00:00
Graham Leggett
3122ef26c6 mod_proxy: Move ap_proxy_strmatch_path and ap_proxy_strmatch_domain out of
the public API.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209947 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 16:45:29 +00:00
Graham Leggett
166ecfcc5f mod_proxy: Remove ap_proxy_make_fake_req() from the public API.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209917 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 14:41:04 +00:00
Graham Leggett
35a6d8a2b5 mod_proxy: Remove dead PROXY_OPTIONAL_HOOK macro.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209913 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 14:09:54 +00:00
Graham Leggett
f2f321ff8c mod_proxy: Remove dead code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209910 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 13:38:26 +00:00
Graham Leggett
5259bb3f02 mod_proxy: Make the ap_proxy_is* functions private.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209908 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 13:29:05 +00:00
Graham Leggett
3ab3e5ed3e mod_proxy: Remove ap_proxy_date_canon() from the public API.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209812 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 01:03:08 +00:00
Graham Leggett
e45341af5d mod_proxy: Remove ap_proxy_buckets_lifetime_transform() from the public API.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209811 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 00:57:19 +00:00
Graham Leggett
9abaf845ca mod_proxy: Remove ap_proxy_liststr(), it duplicates ap_find_token().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209797 13f79535-47bb-0310-9956-ffa450edef68
2011-12-03 00:30:06 +00:00
Graham Leggett
a81bd8f675 mod_proxy: Move ap_proxy_string_read() out of the public API into
mod_proxy_ftp.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209776 13f79535-47bb-0310-9956-ffa450edef68
2011-12-02 23:18:39 +00:00
Graham Leggett
0182b1654f mod_proxy: Make ap_proxy_retry_worker() into an optional function. Allows
mod_lbmethod_bybusyness, mod_lbmethod_byrequests, mod_lbmethod_bytraffic
and mod_lbmethod_heartbeat to be loaded without mod_proxy yet being present,
which happens when modules are loaded in alphabetical order.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209754 13f79535-47bb-0310-9956-ffa450edef68
2011-12-02 22:42:39 +00:00
Jim Jagielski
1eeb516b64 Use 2 sep hashing functions to account for collisions...
Safe enough

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1208897 13f79535-47bb-0310-9956-ffa450edef68
2011-12-01 00:02:30 +00:00
Jim Jagielski
e13a723904 Some optimization... we have a hash, use it. Quicker than all
these string comparisons.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1208068 13f79535-47bb-0310-9956-ffa450edef68
2011-11-29 21:14:08 +00:00
Jim Jagielski
d2e320f509 Logic which makes the balancer "active" or not... so we can turn them
off and on as needed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207926 13f79535-47bb-0310-9956-ffa450edef68
2011-11-29 15:36:11 +00:00
Jim Jagielski
109bd135e1 Instead of running thru all kinds of logic paths, just add in
a on/off bit... No need for other balancer statuses(sp)?

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207863 13f79535-47bb-0310-9956-ffa450edef68
2011-11-29 13:12:43 +00:00
Jim Jagielski
ef5be92f5e Pull this out as a sep function to allow for full vhosting
adjustment between get and define balancers...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207562 13f79535-47bb-0310-9956-ffa450edef68
2011-11-28 20:11:44 +00:00
Jim Jagielski
c4ec235bb0 "Final" (I hope) proxy struct/API changes in order to support
dynamic balancer allocation AND dynamic vhost-balancers

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207467 13f79535-47bb-0310-9956-ffa450edef68
2011-11-28 17:10:17 +00:00
Jim Jagielski
b896ababf5 Error-check.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1207282 13f79535-47bb-0310-9956-ffa450edef68
2011-11-28 15:11:03 +00:00
Jim Jagielski
984c3a345c Move useful and shared balancer stuff to the shm slot...
Provide hooks for post-config/runtime addition of
balancers.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1206286 13f79535-47bb-0310-9956-ffa450edef68
2011-11-25 19:28:14 +00:00
Jim Jagielski
fa862b3f7e Allow compile time changes of field sizes and be more
"clear" regarding the diff between balancer and worker slots...

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1206268 13f79535-47bb-0310-9956-ffa450edef68
2011-11-25 17:32:03 +00:00
Stefan Fritsch
8da8c26cd1 Modify placement of PROXY_DECLARE_DATA to fix build problems with MSVC,
reported by Gregg L. Smith


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1196946 13f79535-47bb-0310-9956-ffa450edef68
2011-11-03 05:35:51 +00:00
Guenter Knauf
9e3448f1c7 Removed prototype which had no implementation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1194940 13f79535-47bb-0310-9956-ffa450edef68
2011-10-29 17:30:36 +00:00
Stefan Fritsch
40b2bb8f92 There is absolutely no reason to have two 4k-sized constant strmatch patterns
in each per-dir config.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1183475 13f79535-47bb-0310-9956-ffa450edef68
2011-10-14 19:51:17 +00:00
Stefan Fritsch
14db7672ac Remove ap_proxy_removestr(). It has been unused for a decade and has quadratic
memory usage.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1180654 13f79535-47bb-0310-9956-ffa450edef68
2011-10-09 17:07:17 +00:00
Jim Jagielski
a6f26af093 Implement draining capability for proxy workers... only accept
sticky on these puppies.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1170256 13f79535-47bb-0310-9956-ffa450edef68
2011-09-13 17:26:57 +00:00