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
William A. Rowe Jr
5ead791f0e Add ap_proxy_connect_backend that will replace
ap_proxy_connect_to_backend. It uses worker params for setting socket
options and checks for conection's connect status.
It works both on empty and acquired connections.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104595 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:34:26 +00:00
William A. Rowe Jr
6c7efc889b Added iobuffersize and receivebuffersize to be worker specific.
As for timeout their default value is from proxy_conf.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104594 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:33:07 +00:00
William A. Rowe Jr
a603a36021 Added timeout_set for worker. Each worker can have a different timeout
the ProxyTimout sets. Also changed proxy_conf's timeout_set to int.

Use timeout_set for worker inherited from ProxyTimeout but overridable
using timout=xxx

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104592 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:31:46 +00:00
William A. Rowe Jr
c25b89a720 Added acquire timeout for obtaining resources from reslist.
The timeout is in milliseconds to enable quick return in case the
reslist is exceded the maximum number of connections.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104591 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:30:06 +00:00
William A. Rowe Jr
66239a82ef Remove proxy_mdule_conf.
We will change the scheme hook api to include the worker.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104590 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:28:59 +00:00
William A. Rowe Jr
3cc146e42b Remove proxy_conn struct and add it's params to proxy_conn_rec.
Use named structure type declarations.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104589 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:27:34 +00:00
William A. Rowe Jr
fd82a02ec8 Add worker timeout inherited from ProxyTimeout.
Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104588 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:16:27 +00:00
William A. Rowe Jr
c460a77e84 Make proxy_conn always accesible for preforked MPM and
APR_HAS_THREADS enabled.

Add init_conn_worker for creating apr_reslist that maintains connection
pool. For prefork mpm's use the single connection container.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104585 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:13:50 +00:00
William A. Rowe Jr
9e6393182e Added ap_proxy_determine_connection.
It will be used both for http and ajp handlers.
Started writing apr_reslist connection pool.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104582 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:05:20 +00:00
William A. Rowe Jr
f9596ca564 Add ap_proxy_pre_request API function.
It calls the actual module pre_request hook if present

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104578 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 22:00:47 +00:00
William A. Rowe Jr
01f7f51f5b Add pre_request and post_request proxy hooks.
They will be mainly used for loadbalancers for finding and maintaining workers.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104576 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:56:38 +00:00
William A. Rowe Jr
d38ce6988e Added API for creating balancers.
Added property  setter for balancers.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104572 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:44:23 +00:00
William A. Rowe Jr
8dda80bccc Move worker params parsing to a separate function.
The same will be used for creating ProxyPass connection pools.

Added ttl param to worker for maintaining reslist.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104570 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:29:57 +00:00
William A. Rowe Jr
e881f5cc72 Move min,smax and hmax params to worker, so they can be set
before the connection pool is created

Added init_conn_pool to worker.
Connection pool will either use reslist (if thread number > 1)  or single connection.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104569 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:27:57 +00:00
William A. Rowe Jr
55bdb14eb5 Use API instead directly obtaining worker and balancer.
Add BalancerStickySession and BalanceMember directives.
Add workers and balancers to create and merge config.

Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104567 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:25:15 +00:00
William A. Rowe Jr
cbdfbe5cbb Add initial structures for connection pool and load balancer.
Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104566 13f79535-47bb-0310-9956-ffa450edef68
2004-08-11 21:20:07 +00:00
Graham Leggett
0fa986980f Fixes the build of proxy on Windows. Since the proxy_module is declared
as extern using AP_MODULE_DECLARE_DATA that expands to dllexport, there
is a LNK2001 error when building proxy_http.
PR:
Obtained from:		Mladen Turk <mturk@apache.org>
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104469 13f79535-47bb-0310-9956-ffa450edef68
2004-08-04 00:32:07 +00:00
André Malo
f8635f92c7 style
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104169 13f79535-47bb-0310-9956-ffa450edef68
2004-07-04 22:47:49 +00:00
Nick Kew
b6e89d86f7 Fix for multiple proxy bugs - review please:
#10722  Reverse proxying cookies
#15207  Proxy passing canonicalised URIs to backend
#16812  Case-insensitivity of proxypassreverse
#19317  Canonicalised URI causing infinite loop
#20372  AllowEncodedSlashes
May also fix 13577 (untested)

This is really two fixes: 10722 and 15207; the others are trivial consequences.
To make review easier, the simpler fix (#15207) is entirely contained in
#ifdef FIX_15207 (new code) and
#ifndef FIX_15207 (removed code)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@104070 13f79535-47bb-0310-9956-ffa450edef68
2004-06-29 06:37:21 +00:00
André Malo
a688f06b19 fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102618 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:31:03 +00:00
André Malo
3d75c8c079 fix copyright dates according to the first check in
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102572 13f79535-47bb-0310-9956-ffa450edef68
2004-02-08 12:27:14 +00:00
André Malo
4f02cb1e18 apply Apache License, Version 2.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102525 13f79535-47bb-0310-9956-ffa450edef68
2004-02-06 22:58:42 +00:00
André Malo
fb07607180 update license to 2004.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102135 13f79535-47bb-0310-9956-ffa450edef68
2004-01-01 13:26:26 +00:00
André Malo
742af25096 finished that boring job:
update license to 2003.

Happy New Year! ;-))


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98573 13f79535-47bb-0310-9956-ffa450edef68
2003-02-03 17:53:28 +00:00
Jim Jagielski
62f1105335 Haven't heard any vetoes regarding this, so might as well fold it
in. Not too happy about cluttering up the list of directives either.
But, at least, it allows 2.0 to proxy stupid IIS as much as 1.3.
Docs to come soon.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97202 13f79535-47bb-0310-9956-ffa450edef68
2002-10-14 14:11:24 +00:00
Jeff Trawick
97b87390dd add PROXY_OPTIONAL_HOOK() macro for modules that want to
optionally provide a mod_proxy hook


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96013 13f79535-47bb-0310-9956-ffa450edef68
2002-07-11 18:45:22 +00:00
William A. Rowe Jr
f8511d81d8 No crutches, people!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95854 13f79535-47bb-0310-9956-ffa450edef68
2002-06-23 06:06:25 +00:00
William A. Rowe Jr
3f6aa521eb Cleanup proxy timeouts a bit to remove emits and make consistent to
vhost timeout.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95674 13f79535-47bb-0310-9956-ffa450edef68
2002-06-14 17:14:57 +00:00
Jeff Trawick
9a1842b70c get basic HTTP proxy working on EBCDIC machines
(I would bet that there is more work to do throughout proxy, but at least
it can serve some pages now)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94811 13f79535-47bb-0310-9956-ffa450edef68
2002-04-26 12:29:38 +00:00
Doug MacEachern
9fb5b384d7 PR:
Obtained from:
Submitted by:	Daniel Lopez <daniel@covalent.net>
Reviewed by:	dougm, rbb
add optional fixup hook to proxy


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94544 13f79535-47bb-0310-9956-ffa450edef68
2002-04-08 18:38:56 +00:00
Doug MacEachern
1138615486 fix ProxyPass when frontend is https and backend is http
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94515 13f79535-47bb-0310-9956-ffa450edef68
2002-04-07 03:37:35 +00:00
Doug MacEachern
cf7be3d0b6 PR:
Obtained from:
Submitted by:
Reviewed by:	Ryan Bloom
remove call to ap_proxy_reset_output_filters() and the function itself.
this call breaks ssl proxy when the client is using keepalives.
this function is also no longer needed with recent-ish filter changes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94383 13f79535-47bb-0310-9956-ffa450edef68
2002-04-02 04:30:49 +00:00
Doug MacEachern
c3e2155dca hook into mod_ssl for https support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94300 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 07:29:11 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Graham Leggett
01b5958cf7 New directive ProxyIOBufferSize. Sets the size of the buffer used
when reading from a remote HTTP server in proxy.

Modify receive/send loop in proxy_http and proxy_ftp so that
should it be necessary, the remote server socket is closed before
transmitting the last buffer (set by ProxyIOBufferSize) to the
client. This prevents the backend server from being forced to hang
around while the last few bytes are transmitted to a slow client.
Fix the case where no error checking was performed on the final
brigade in the loop.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93811 13f79535-47bb-0310-9956-ffa450edef68
2002-03-09 07:15:33 +00:00
Jeff Trawick
1151bac94b implement a common function for getting a socket and trying to connect
to the target host; use that common function for proxy HTTP and proxy
CONNECT

In that new function, fix this problem:

     Proxy HTTP and CONNECT: Keep trying other addresses from the DNS
     when we can't get a socket in the specified address family.  We may
     have gotten back an IPv6 address first and yet our system is not
     configured to allow IPv6 sockets.

An example host is www.ipv6.org.  The first address I get back is
an IPv6 address, but my machine may not be configured to allow an
AF_INET6 socket.

Before the fix: The apr_socket() failure was fatal.
After the fix:  When apr_socket() fails, we go to the next address from
                the resolver, successfully create a socket in the
                specified family (AF_INET), and all is well.

(an unrelated fix in this commit was to pass a server_rec in a broken
ap_log_error() call)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93787 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 02:03:47 +00:00
Jim Jagielski
a1de05995b Add the ProxyRemoteMatch directive to the mod_proxy
code. Doccos to be done soon


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93597 13f79535-47bb-0310-9956-ffa450edef68
2002-02-27 15:49:01 +00:00
Jeff Trawick
e8b6f67b6a fix the linkage of and add a prototype for ap_proxy_table_unmerge()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93529 13f79535-47bb-0310-9956-ffa450edef68
2002-02-21 11:42:03 +00:00
Ian Holsman
8cf569593b add a ProxyTimeout directive
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93117 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 18:46:56 +00:00
Martin Kraemer
0a372f9393 Minor tipos
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93111 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 15:30:09 +00:00
Bill Stoddard
4bc1733b38 Cleanup some fallout from the recent install_transport_filters commit.
Deprecate ap_proxy_pre_http_connection.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93093 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 04:34:11 +00:00
Ian Holsman
c23a0b8732 new directive 'ProxyPreserveHost' which allows the incoming host line to
be sent to the proxied server.

Submitted by:	g.russell@ieee.org (1.3 version)
Reviewed by:	Ian Holsman/Graham Legget/Chuck Murcko


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93089 13f79535-47bb-0310-9956-ffa450edef68
2002-01-29 21:08:37 +00:00
Jeff Trawick
64a3040e8a get the declarations for strncasecmp() on AIX
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92724 13f79535-47bb-0310-9956-ffa450edef68
2002-01-03 20:42:08 +00:00
Ryan Bloom
6eb1adeb1d The proxy does not actually need this header.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91549 13f79535-47bb-0310-9956-ffa450edef68
2001-10-18 19:51:49 +00:00
Ryan Bloom
e31a688ce5 Cleanup the proxy code that creates a request to the origin
server.  This change adds an optional hook, which allows modules
to gain control while the request is created if the proxy module
is loaded.  The purpose of this hook is to allow modules to add
input and/or output filters to the request to the origin.  While
I was at it, I made the core use this hook, so that proxy request
creation uses some of the code from the core.  This can still be
greatly improved, but this is a good start.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91486 13f79535-47bb-0310-9956-ffa450edef68
2001-10-16 05:18:39 +00:00
Ian Holsman
4bd8279a92 initial port of new Request-mode HTTP_IN filter to proxy.
Status: It serves a reverse-proxy page.. but SLOWLY.
VERY SLOWLY.
still looking at why, but now it serves pages instead of dumping core.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91363 13f79535-47bb-0310-9956-ffa450edef68
2001-10-08 19:25:35 +00:00
Graham Leggett
3ce4f34fd4 Fix the "merge" behaviour of the ProxyErrorOverride directive.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91172 13f79535-47bb-0310-9956-ffa450edef68
2001-09-28 10:33:39 +00:00
Graham Leggett
0617f1c78f Some style cleanups related to the ProxyErrorOverride function.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91171 13f79535-47bb-0310-9956-ffa450edef68
2001-09-28 10:23:32 +00:00
Ian Holsman
65d5d7b65c Added New Option 'HTTPProxyOverrideReturnedErrors' which lets the server override
the error pages returned from the proxied server and replace them with the standard
server error handling on the main server.

Reviewed by:	Graham, Chuck


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91092 13f79535-47bb-0310-9956-ffa450edef68
2001-09-20 05:34:50 +00:00
William A. Rowe Jr
5832dc83ba Fix a broken declaration (supress type conversion warning on win32).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90819 13f79535-47bb-0310-9956-ffa450edef68
2001-08-30 19:43:03 +00:00