RewriteProxy directive
| Description: |
Proxy request to a distant server |
| Syntax: |
RewriteProxy Pattern Substitution [flags] |
| Context: |
server config, virtual host, directory, .htaccess |
RewriteProxy directive causes the resulting URL to be internally treated as
a target on another server and immediately (i.e. rules processing stops here)
passed to the remote server. Response of the remote server will then be passed
back to the client. Proxy requires you to specify fully qualified URL, starting
from protocol, host name, etc. ISAPI_Rewrite uses ISAPI extension to handle
proxy requests.
Syntax and operation is the same as for RewriteRule
directive, but RewriteProxy directive supports some additional flags:
- H (preserve Host)
Proxy module will use Host header sent in original request when connecting
to remote server. Without this flag proxy will compose Host header from a
host name and a port of a remote server.
- CR (use Credentials)
Proxy module will try to login on a remote server with the credentials specified
in the URL or basic authentication headers. With this flag you can use http://user:password@host.com/path/
syntax as a URL within substitution string.
Proxy settings
ISAPI_Rewrite provides an opportunity to adjust some general proxy settings:
- ProxyConnectTimeout — if a connection request takes longer than this time-out value, the request is canceled.
- ProxySendTimeout — if sending a request takes longer than this time-out value, the send is canceled.
- ProxyReceiveTimeout — if a response takes longer than this time-out value, the request is canceled.
- ProxySuppressErrors — when On, proxy module will give out 500 Internal
Server Error for any failures that may occur,
while with Off, detailed error explanation is provided (helpful for maintenance).
Default values (in seconds) are shown in the example below:
<Helicon>
ProxyConnectTimeout 60
ProxySendTimeout 30
ProxyReceiveTimeout 30
ProxySuppressErrors On
</Helicon>
Note! <Helicon> section may be located either in the httpd.conf or in
a specific <VirtualHost>.