text:
Apache HTTP Server Version 2.4
Description: | Multi-protocol proxy/gateway server |
Status: | Extension |
Module Identifier: | proxy_module |
Source File: | mod_proxy.c |
Do not enable proxying with ProxyRequests
until you have secured your server. Open proxy servers are dangerous both to your
network and to the Internet at large.
and related modules implement a
proxy/gateway for Apache HTTP Server, supporting a number of popular
protocols as well as several different load balancing algorithms.
Third-party modules can add support for additional protocols and
load balancing algorithms.
A set of modules must be loaded into the server to provide the
necessary features. These modules can be included statically at
build time or dynamically via the
The set must include:
, which provides basic proxy
and one or more
balancer modules if load balancing is required. (See
for more information.)Protocol | Module |
AJP13 (Apache JServe Protocol version 1.3) | mod_proxy_ajp |
CONNECT (for SSL) | mod_proxy_connect |
FastCGI | mod_proxy_fcgi |
ftp | mod_proxy_ftp |
HTTP/0.9, HTTP/1.0, and HTTP/1.1 | mod_proxy_http |
HTTP/2.0 | mod_proxy_http2 |
SCGI | mod_proxy_scgi |
UWSGI | mod_proxy_uwsgi |
WS and WSS (Web-sockets) | mod_proxy_wstunnel |
In addition, extended features are provided by other modules.
Caching is provided by mod_cache
and related
modules. The ability to contact remote servers using the SSL/TLS
protocol is provided by the SSLProxy*
directives of
. These additional modules will need
to be loaded and configured to take advantage of these features.
Apache HTTP Server can be configured in both a forward and reverse proxy (also known as gateway) mode.
An ordinary forward proxy is an intermediate server that sits between the client and the origin server. In order to get content from the origin server, the client sends a request to the proxy naming the origin server as the target. The proxy then requests the content from the origin server and returns it to the client. The client must be specially configured to use the forward proxy to access other sites.
A typical usage of a forward proxy is to provide Internet
access to internal clients that are otherwise restricted by a
firewall. The forward proxy can also use caching (as provided
by mod_cache
) to reduce network usage.
The forward proxy is activated using the ProxyRequests
directive. Because
forward proxies allow clients to access arbitrary sites through
your server and to hide their true origin, it is essential that
you secure your server so that only
authorized clients can access the proxy before activating a
forward proxy.
A reverse proxy (or gateway), by contrast, appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the namespace of the reverse proxy. The reverse proxy then decides where to send those requests and returns the content as if it were itself the origin.
A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers or to provide caching for a slower back-end server. In addition, reverse proxies can be used simply to bring several servers into the same URL space.
A reverse proxy is activated using the ProxyPass
directive or the
flag to the RewriteRule
directive. It is
not necessary to turn ProxyRequests
on in order to
configure a reverse proxy.
The examples below are only a very basic idea to help you get started. Please read the documentation on the individual directives.
In addition, if you wish to have caching enabled, consult
the documentation from mod_cache
ProxyPass "/foo" "http://foo.example.com/bar" ProxyPassReverse "/foo" "http://foo.example.com/bar"
ProxyRequests On ProxyVia On <Proxy "*"> Require host internal.example.com </Proxy>
ProxyPass "/some/ws/capable/path/" "http://example.com/some/ws/capable/path/" upgrade=websocket
You can also force a request to be handled as a reverse-proxy request, by creating a suitable Handler pass-through. The example configuration below will pass all requests for PHP scripts to the specified FastCGI server using reverse proxy:
<FilesMatch "\.php$"> # Unix sockets require 2.4.7 or later SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/" </FilesMatch>
This feature is available in Apache HTTP Server 2.4.10 and later.
The proxy manages the configuration of origin servers and their communication parameters in objects called workers. There are two built-in workers: the default forward proxy worker and the default reverse proxy worker. Additional workers can be configured explicitly.
The two default workers have a fixed configuration and will be used if no other worker matches the request. They do not use HTTP Keep-Alive or connection reuse. The TCP connections to the origin server will instead be opened and closed for each request.
Explicitly configured workers are identified by their URL.
They are usually created and configured using
when used
for a reverse proxy:
ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30
This will create a worker associated with the origin server URL
that will use the given timeout
values. When used in a forward proxy, workers are usually defined
via the ProxySet
ProxySet "http://backend.example.com" connectiontimeout=5 timeout=30
or alternatively using Proxy
and ProxySet
<Proxy "http://backend.example.com"> ProxySet connectiontimeout=5 timeout=30 </Proxy>
Using explicitly configured workers in the forward mode is
not very common, because forward proxies usually communicate with many
different origin servers. Creating explicit workers for some of the
origin servers can still be useful if they are used very often.
Explicitly configured workers have no concept of forward or reverse
proxying by themselves. They encapsulate a common concept of
communication with origin servers. A worker created by
for use in a
reverse proxy will also be used for forward proxy requests whenever
the URL to the origin server matches the worker URL, and vice versa.
The URL identifying a direct worker is the URL of its origin server including any path components given:
ProxyPass "/examples" "http://backend.example.com/examples" ProxyPass "/docs" "http://backend.example.com/docs"
This example defines two different workers, each using a separate connection pool and configuration.
Worker sharing happens if the worker URLs overlap, which occurs when the URL of some worker is a leading substring of the URL of another worker defined later in the configuration file. In the following example
ProxyPass "/apps" "http://backend.example.com/" timeout=60 ProxyPass "/examples" "http://backend.example.com/examples" timeout=10
the second worker isn't actually created. Instead the first
worker is used. The benefit is, that there is only one connection pool,
so connections are more often reused. Note that all configuration attributes
given explicitly for the later worker will be ignored. This will be logged
as a warning. In the above example, the resulting timeout value
for the URL /examples
will be 60
of 10
If you want to avoid worker sharing, sort your worker definitions
by URL length, starting with the longest worker URLs. If you want to maximize
worker sharing, use the reverse sort order. See also the related warning about
ordering ProxyPass
Explicitly configured workers come in two flavors:
direct workers and (load) balancer workers.
They support many important configuration attributes which are
described below in the ProxyPass
directive. The same attributes can also be set using
The set of options available for a direct worker
depends on the protocol which is specified in the origin server URL.
Available protocols include ajp
, fcgi
, http
and scgi
Balancer workers are virtual workers that use direct workers known as their members to actually handle the requests. Each balancer can have multiple members. When it handles a request, it chooses a member based on the configured load balancing algorithm.
A balancer worker is created if its worker URL uses
as the protocol scheme.
The balancer URL uniquely identifies the balancer worker.
Members are added to a balancer using
DNS resolution happens when the socket to
the origin domain is created for the first time.
When connection reuse is enabled, each backend domain is resolved
only once per child process, and cached for all further connections
until the child is recycled. This information should to be considered
while planning DNS maintenance tasks involving backend domains.
Please also check ProxyPass
parameters for more details about connection reuse.
You can control who can access your proxy via the <Proxy>
control block as in
the following example:
<Proxy "*"> Require ip 192.168.0 </Proxy>
For more information on access control directives, see
Strictly limiting access is essential if you are using a
forward proxy (using the ProxyRequests
Otherwise, your server can be used by any client to access
arbitrary hosts while hiding his or her true identity. This is
dangerous both for your network and for the Internet at large.
When using a reverse proxy (using the ProxyPass
directive with
ProxyRequests Off
), access control is less
critical because clients can only contact the hosts that you
have specifically configured.
See Also the Proxy-Chain-Auth environment variable.
If you're using the ProxyBlock
directive, hostnames' IP addresses are looked up
and cached during startup for later match test. This may take a few
seconds (or more) depending on the speed with which the hostname lookups
An Apache httpd proxy server situated in an intranet needs to forward
external requests through the company's firewall (for this, configure
the ProxyRemote
to forward the respective scheme to the firewall proxy).
However, when it has to
access resources within the intranet, it can bypass the firewall when
accessing hosts. The NoProxy
directive is useful for specifying which hosts belong to the intranet and
should be accessed directly.
Users within an intranet tend to omit the local domain name from their
WWW requests, thus requesting "http://somehost/" instead of
. Some commercial proxy servers
let them get away with this and simply serve the request, implying a
configured local domain. When the ProxyDomain
directive is used and the server is configured for proxy service, Apache httpd can return
a redirect response and send the client to the correct, fully qualified,
server address. This is the preferred method since the user's bookmark
files will then contain fully qualified hosts.
For circumstances where mod_proxy
is sending
requests to an origin server that doesn't properly implement
keepalives or HTTP/1.1, there are two environment variables that can force the
request to use HTTP/1.0 with no keepalive. These are set via the
These are the force-proxy-request-1.0
<Location "/buggyappserver/"> ProxyPass "http://buggyappserver:7001/foo/" SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </Location>
In 2.4.26 and later, the "no-proxy" environment variable can be set to disable
processing the current request.
This variable should be set with SetEnvIf
, as SetEnv
is not evaluated early enough.
Some request methods such as POST include a request body.
The HTTP protocol requires that requests which include a body
either use chunked transfer encoding or send a
request header. When passing these
requests on to the origin server, mod_proxy_http
will always attempt to send the Content-Length
. But
if the body is large and the original request used chunked
encoding, then chunked encoding may also be used in the upstream
request. You can control this selection using environment variables. Setting
ensures maximum compatibility with
upstream servers by always sending the
, while setting
minimizes resource usage by using
chunked encoding.
Under some circumstances, the server must spool request bodies to disk to satisfy the requested handling of request bodies. For example, this spooling will occur if the original body was sent with chunked encoding (and is large), but the administrator has asked for backend requests to be sent with Content-Length or as HTTP/1.0. This spooling can also occur if the request body already has a Content-Length header, but the server is configured to filter incoming request bodies.
When acting in a reverse-proxy mode (using the ProxyPass
directive, for example),
adds several request headers in
order to pass information to the origin server. These headers
HTTP request header.X-Forwarded-Server
Be careful when using these headers on the origin server, since
they will contain more than one (comma-separated) value if the
original request already contained one of these headers. For
example, you can use %{X-Forwarded-For}i
in the log
format string of the origin server to log the original clients IP
address, but you may get more than one address if the request
passes through several proxies.
See also the ProxyPreserveHost
and ProxyVia
directives, which control
other request headers.
Note: If you need to specify custom request headers to be
added to the forwarded request, use the
Description: | Number of additional Balancers that can be added Post-configuration |
Syntax: | BalancerGrowth # |
Default: | BalancerGrowth 5 |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | BalancerGrowth is only available in Apache HTTP Server 2.3.13 and later. |
This directive allows for growth potential in the number of Balancers available for a virtualhost in addition to the number pre-configured. It only takes effect if there is at least one pre-configured Balancer.
Description: | Inherit ProxyPassed Balancers/Workers from the main server |
Syntax: | BalancerInherit On|Off |
Default: | BalancerInherit On |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | BalancerInherit is only available in Apache HTTP Server 2.4.5 and later. |
This directive will cause the current server/vhost to "inherit" ProxyPass Balancers and Workers defined in the main server. This can cause issues and inconsistent behavior if using the Balancer Manager and so should be disabled if using that feature.
The setting in the global server defines the default for all vhosts.
Description: | Add a member to a load balancing group |
Syntax: | BalancerMember [balancerurl] url [key=value [key=value ...]] |
Context: | directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | BalancerMember is only available in Apache HTTP Server 2.2 and later. |
This directive adds a member to a load balancing group. It can be used
within a <Proxy balancer://...>
directive and can take any of the key value pair parameters available to
One additional parameter is available only to BalancerMember
loadfactor. This is the member load factor - a decimal number between 1.0
(default) and 100.0, which defines the weighted load to be applied to the
member in question.
The balancerurl is only needed when not within a
<Proxy balancer://...>
container directive. It corresponds to the url of a balancer defined in
The path component of the balancer URL in any
<Proxy balancer://...>
container directive
is ignored.
Trailing slashes should typically be removed from the URL of a
Description: | Attempt to persist changes made by the Balancer Manager across restarts. |
Syntax: | BalancerPersist On|Off |
Default: | BalancerPersist Off |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | BalancerPersist is only available in Apache HTTP Server 2.4.4 and later. |
This directive will cause the shared memory storage associated with the balancers and balancer members to be persisted across restarts. This allows these local changes to not be lost during the normal restart/graceful state transitions.
Description: | Hosts, domains, or networks that will be connected to directly |
Syntax: | NoProxy host [host] ... |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
This directive is only useful for Apache httpd proxy servers within
intranets. The NoProxy
directive specifies a
list of subnets, IP addresses, hosts and/or domains, separated by
spaces. A request to a host which matches one or more of these is
always served directly, without forwarding to the configured
proxy server(s).
ProxyRemote "*" "http://firewall.example.com:81" NoProxy ".example.com" "192.168.112.0/21"
The host arguments to the NoProxy
directive are one of the following type list:
A Domain is a partially qualified DNS domain name, preceded by a period. It represents a list of hosts which logically belong to the same DNS domain or zone (i.e., the suffixes of the hostnames are all ending in Domain).
.com .example.org.
To distinguish Domains from Hostnames (both syntactically and semantically; a DNS domain can have a DNS A record, too!), Domains are always written with a leading period.
Domain name comparisons are done without regard to the case, and
Domains are always assumed to be anchored in the root of the
DNS tree; therefore, the two domains .ExAmple.com
(note the trailing period) are considered
equal. Since a domain comparison does not involve a DNS lookup, it is much
more efficient than subnet comparison.
A SubNet is a partially qualified internet address in numeric (dotted quad) form, optionally followed by a slash and the netmask, specified as the number of significant bits in the SubNet. It is used to represent a subnet of hosts which can be reached over a common network interface. In the absence of the explicit net mask it is assumed that omitted (or zero valued) trailing digits specify the mask. (In this case, the netmask can only be multiples of 8 bits wide.) Examples:
or 192.168.0.0
with a netmask of 21
valid bits (also used in the form 255.255.248.0
)As a degenerate case, a SubNet with 32 valid bits is the equivalent to an IPAddr, while a SubNet with zero valid bits (e.g., 0.0.0.0/0) is the same as the constant _Default_, matching any IP address.
A IPAddr represents a fully qualified internet address in numeric (dotted quad) form. Usually, this address represents a host, but there need not necessarily be a DNS domain name connected with the address.
An IPAddr does not need to be resolved by the DNS system, so it can result in more effective apache performance.
A Hostname is a fully qualified DNS domain name which can be resolved to one or more IPAddrs via the DNS domain name service. It represents a logical host (in contrast to Domains, see above) and must be resolvable to at least one IPAddr (or often to a list of hosts with different IPAddrs).
In many situations, it is more effective to specify an IPAddr in place of a Hostname since a DNS lookup can be avoided. Name resolution in Apache httpd can take a remarkable deal of time when the connection to the name server uses a slow PPP link.
Hostname comparisons are done without regard to the case,
and Hostnames are always assumed to be anchored in the root
of the DNS tree; therefore, the two hosts WWW.ExAmple.com
and www.example.com.
(note the trailing period) are
considered equal.
Description: | Container for directives applied to proxied resources |
Syntax: | <Proxy wildcard-url> ...</Proxy> |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Directives placed in <Proxy>
sections apply only to matching proxied content. Shell-style wildcards are
For example, the following will allow only hosts in
to access content via your proxy
<Proxy "*"> Require host yournetwork.example.com </Proxy>
The following example will process all files in the foo
directory of example.com
through the INCLUDES
filter when they are sent through the proxy server:
<Proxy "http://example.com/foo/*"> SetOutputFilter INCLUDES </Proxy>
A backend URL matches the configuration section if it begins with the
the wildcard-url string, even if the last path segment in the
directive only matches a prefix of the backend URL. For example,
<Proxy "http://example.com/foo"> matches all of
http://example.com/foo, http://example.com/foo/bar, and
http://example.com/foobar. The matching of the final URL differs
from the behavior of the <Location>
section, which for purposes of this note
treats the final path component as if it ended in a slash.
For more control over the matching, see <ProxyMatch>
Description: | Forward 100-continue expectation to the origin server |
Syntax: | Proxy100Continue Off|On |
Default: | Proxy100Continue On |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in version 2.4.40 and later |
This directive determines whether the proxy should forward 100-continue
Expect:ation to the origin server and thus let it decide when/if
the HTTP request body should be read, or when Off
the proxy
should generate 100 Continue intermediate response by itself before
forwarding the request body.
This option is of use only for HTTP proxying, as handled by mod_proxy_http
Description: | Add proxy information in X-Forwarded-* headers |
Syntax: | ProxyAddHeaders Off|On |
Default: | ProxyAddHeaders On |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in version 2.3.10 and later |
This directive determines whether or not proxy related information should be passed to the backend server through X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server HTTP headers.
This option is of use only for HTTP proxying, as handled by mod_proxy_http
Description: | Determines how to handle bad header lines in a response |
Syntax: | ProxyBadHeader IsError|Ignore|StartBody |
Default: | ProxyBadHeader IsError |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
The ProxyBadHeader
directive determines the
behavior of mod_proxy
if it receives syntactically invalid
response header lines (i.e. containing no colon) from the origin
server. The following arguments are possible:
Description: | Words, hosts, or domains that are banned from being proxied |
Syntax: | ProxyBlock *|word|host|domain
[word|host|domain] ... |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
The ProxyBlock
directive specifies a list of
words, hosts and/or domains, separated by spaces. HTTP, HTTPS, and
FTP document requests to sites whose names contain matched words,
hosts or domains are blocked by the proxy server. The proxy
module will also attempt to determine IP addresses of list items which
may be hostnames during startup, and cache them for match test as
well. That may slow down the startup time of the server.
ProxyBlock "news.example.com" "auctions.example.com" "friends.example.com"
Note that example
would also be sufficient to match any
of these sites.
Hosts would also be matched if referenced by IP address.
Note also that
ProxyBlock "*"
blocks connections to all sites.
Description: | Default domain name for proxied requests |
Syntax: | ProxyDomain Domain |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
This directive is only useful for Apache httpd proxy servers within
intranets. The ProxyDomain
directive specifies
the default domain which the apache proxy server will belong to. If a
request to a host without a domain name is encountered, a redirection
response to the same host with the configured Domain appended
will be generated.
ProxyRemote "*" "http://firewall.example.com:81" NoProxy ".example.com" "192.168.112.0/21" ProxyDomain ".example.com"
Description: | Override error pages for proxied content |
Syntax: | ProxyErrorOverride Off|On [code ...] |
Default: | ProxyErrorOverride Off |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | The list of status codes was added in 2.4.47 |
This directive is useful for reverse-proxy setups where you want to
have a common look and feel on the error pages seen by the end user.
This also allows for included files (via
's SSI) to get
the error code and act accordingly. (Default behavior would display
the error page of the proxied server. Turning this on shows the SSI
Error message.)
This directive does not affect the processing of informational (1xx), normal success (2xx), or redirect (3xx) responses.
By default ProxyErrorOverride
affects all responses with codes between 400 (including)
and 600 (excluding).
ProxyErrorOverride On
To change the default behavior, you can specify the status codes to consider, separated by spaces. If you do so, all other status codes will be ignored. You can only specify status codes, that are considered error codes: between 400 (including) and 600 (excluding).
ProxyErrorOverride On 403 405 500 501 502 503 504
Description: | Determine size of internal data throughput buffer |
Syntax: | ProxyIOBufferSize bytes |
Default: | ProxyIOBufferSize 8192 |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
The ProxyIOBufferSize
directive adjusts the size
of the internal buffer which is used as a scratchpad for the data between
input and output. The size must be at least 512
In almost every case, there's no reason to change that value.
If used with AJP, this directive sets the maximum AJP packet size in
bytes. Values larger than 65536 are set to 65536. If you change it from
the default, you must also change the packetSize
attribute of
your AJP connector on the Tomcat side! The attribute
is only available in Tomcat 5.5.20+
and 6.0.2+
Normally it is not necessary to change the maximum packet size. Problems with the default value have been reported when sending certificates or certificate chains.
Description: | Container for directives applied to regular-expression-matched proxied resources |
Syntax: | <ProxyMatch regex> ...</ProxyMatch> |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
The <ProxyMatch>
directive is
identical to the <Proxy>
directive, except that it matches URLs
using regular expressions.
From 2.4.8 onwards, named groups and backreferences are captured and
written to the environment with the corresponding name prefixed with
"MATCH_" and in upper case. This allows elements of URLs to be referenced
from within expressions and modules like
. In order to prevent confusion, numbered
(unnamed) backreferences are ignored. Use named groups instead.
<ProxyMatch "^http://(?<sitename>[^/]+)"> Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example </ProxyMatch>
Description: | Maximum number of proxies that a request can be forwarded through |
Syntax: | ProxyMaxForwards number |
Default: | ProxyMaxForwards -1 |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Default behaviour changed in 2.2.7 |
The ProxyMaxForwards
directive specifies the
maximum number of proxies through which a request may pass if there's no
header supplied with the request. This may
be set to prevent infinite proxy loops or a DoS attack.
ProxyMaxForwards 15
Note that setting ProxyMaxForwards
is a
violation of the HTTP/1.1 protocol (RFC2616), which forbids a Proxy
setting Max-Forwards
if the Client didn't set it.
Earlier Apache httpd versions would always set it. A negative
value, including the
default -1, gives you protocol-compliant behavior but may
leave you open to loops.
Description: | Maps remote servers into the local server URL-space |
Syntax: | ProxyPass [path] !|url [key=value
[key=value ...]] [nocanon] [interpolate] [noquery] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Unix Domain Socket (UDS) support added in 2.4.7 |
This directive allows remote servers to be mapped into the space of the local server. The local server does not act as a proxy in the conventional sense but appears to be a mirror of the remote server. The local server is often called a reverse proxy or gateway. The path is the name of a local virtual path; url is a partial URL for the remote server and cannot include a query string.
directive should
usually be set off when using
.In 2.4.7 and later, support for using a Unix Domain Socket is available by using a target
which prepends unix:/path/lis.sock|
. For example, to proxy
HTTP and target the UDS at /home/www.socket, you would use
URL is DefaultRuntimeDir
aware.When used inside a <Location>
section, the first argument is omitted and the local
directory is obtained from the <Location>
. The same will occur inside a
however, ProxyPass does not interpret the regexp as such, so it is necessary
to use ProxyPassMatch
in this situation instead.
Suppose the local server has address http://example.com/
<Location "/mirror/foo/"> ProxyPass "http://backend.example.com/" </Location>
will cause a local request for
to be internally converted
into a proxy request to http://backend.example.com/bar
If you require a more flexible reverse-proxy configuration, see the
directive with the
The following alternative syntax is possible; however, it can carry a performance penalty when present in very large numbers. The advantage of the below syntax is that it allows for dynamic control via the Balancer Manager interface:
ProxyPass "/mirror/foo/" "http://backend.example.com/"
If the first argument ends with a trailing /, the second argument should also end with a trailing /, and vice versa. Otherwise, the resulting requests to the backend may miss some needed slashes and do not deliver the expected results.
The !
directive is useful in situations where you don't want
to reverse-proxy a subdirectory, e.g.
<Location "/mirror/foo/"> ProxyPass "http://backend.example.com/" </Location> <Location "/mirror/foo/i"> ProxyPass "!" </Location>
ProxyPass "/mirror/foo/i" "!" ProxyPass "/mirror/foo" "http://backend.example.com"
will proxy all requests to /mirror/foo
except requests made to
Mixing ProxyPass settings in different contexts does not work:
ProxyPass "/mirror/foo/i" "!" <Location "/mirror/foo/"> ProxyPass "http://backend.example.com/" </Location>
In this case, a request to /mirror/foo/i
will get proxied,
because the ProxyPass
directive in the Location block will be evaluated
first. The fact that ProxyPass
supports both server and directory contexts
does not mean that their scope and position in the configuration file will
guarantee any ordering or override.
The configured ProxyPass
and ProxyPassMatch
rules are checked in the order of configuration. The first rule that
matches wins. So usually you should sort conflicting
rules starting with the
longest URLs first. Otherwise, later rules for longer URLS will be hidden
by any earlier rule which uses a leading substring of the URL. Note that
there is some relation with worker sharing.
Only one ProxyPass
can be placed in a Location
and the most specific location will take precedence.
Exclusions must come before the
general ProxyPass
directives. In 2.4.26 and later, the "no-proxy"
environment variable is an alternative to exclusions, and is the only
way to configure an exclusion of a ProxyPass
directive in Location
This variable should be set with SetEnvIf
, as SetEnv
is not evaluated early enough.
ProxyPass key=value
In Apache HTTP Server 2.1 and later, mod_proxy supports pooled
connections to a backend server. Connections created on demand
can be retained in a pool for future use. Limits on the pool size
and other settings can be coded on
the ProxyPass
using key=value
parameters, described in the tables
By default, mod_proxy will allow and retain the maximum number of
connections that could be used simultaneously by that web server child
process. Use the max
parameter to reduce the number from
the default. The pool of connections is maintained per web server child
process, and max
and other settings are not coordinated
among all child processes, except when only one child process is allowed
by configuration or MPM design.
Use the ttl
parameter to set an optional
time to live; connections which have been unused for at least
seconds will be closed. ttl
can be used
to avoid using a connection which is subject to closing because of the
backend server's keep-alive timeout.
ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300
Worker|BalancerMember parameters |
Parameter | Default | Description | |||||||
min | 0 | Minimum number of connection pool entries, unrelated to the actual number of connections. This only needs to be modified from the default for special circumstances where heap memory associated with the backend connections should be preallocated or retained. | |||||||
max | 1...n | Maximum number of connections that will be allowed to the
backend server. The default for this limit is the number of threads
per process in the active MPM. In the Prefork MPM, this is always 1,
while with other MPMs, it is controlled by the
ThreadsPerChild directive. | |||||||
smax | max | Retained connection pool entries above this limit are freed
during certain operations if they have been unused for longer than
the time to live, controlled by the ttl parameter. If
the connection pool entry has an associated connection, it will be
closed. This only needs to be modified from the default for special
circumstances where connection pool entries and any associated
connections which have exceeded the time to live need to be freed or
closed more aggressively. | |||||||
acquire | - | If set, this will be the maximum time to wait for a free
connection in the connection pool, in milliseconds. If there are no free
connections in the pool, the Apache httpd will return SERVER_BUSY
status to the client.
| |||||||
connectiontimeout | timeout | Connect timeout in seconds. The number of seconds Apache httpd waits for the creation of a connection to the backend to complete. By adding a postfix of ms, the timeout can be also set in milliseconds. | |||||||
disablereuse | Off | This parameter should be used when you want to force mod_proxy
to immediately close a connection to the backend after being used, and
thus, disable its persistent connection and pool for that backend.
This helps in various situations where a firewall between Apache
httpd and
the backend server (regardless of protocol) tends to silently
drop connections or when backends themselves may be under round-
robin DNS.
When connection reuse is enabled each backend domain is resolved
(with a DNS query) only once per child process and cached for all further
connections until the child is recycled. To disable connection reuse,
set this property value to On .
| |||||||
enablereuse | On | This is the inverse of 'disablereuse' above, provided as a
convenience for scheme handlers that require opt-in for connection
reuse (such as mod_proxy_fcgi ). 2.4.11 and later only.
| |||||||
flushpackets | off | Determines whether the proxy module will auto-flush the output brigade after each "chunk" of data. 'off' means that it will flush only when needed; 'on' means after each chunk is sent; and 'auto' means poll/wait for a period of time and flush if no input has been received for 'flushwait' milliseconds. Currently, this is in effect only for mod_proxy_ajp and mod_proxy_fcgi. | |||||||
flushwait | 10 | The time to wait for additional input, in milliseconds, before flushing the output brigade if 'flushpackets' is 'auto'. | |||||||
iobuffersize | 8192 | Adjusts the size of the internal scratchpad IO buffer. This allows you
to override the ProxyIOBufferSize for a specific worker.
This must be at least 512 or set to 0 for the system default of 8192.
| |||||||
responsefieldsize | 8192 | Adjust the size of the proxy response field buffer. The buffer size
should be at least the size of the largest expected header size from
a proxied response. Setting the value to 0 will use the system
default of 8192 bytes. Available in Apache HTTP Server 2.4.34 and later. | |||||||
keepalive | Off | This parameter should be used when you have a firewall between your
Apache httpd and the backend server, which tends to drop inactive connections.
This flag will tell the Operating System to send The frequency of initial and subsequent TCP keepalive probes depends on global OS settings, and may be as high as 2 hours. To be useful, the frequency configured in the OS must be smaller than the threshold used by the firewall. | |||||||
lbset | 0 | Sets the load balancer cluster set that the worker is a member of. The load balancer will try all members of a lower numbered lbset before trying higher numbered ones. | |||||||
ping | 0 | Ping property tells the webserver to "test" the connection to
the backend before forwarding the request. For AJP, it causes
mod_proxy_ajp to send a CPING
request on the ajp13 connection (implemented on Tomcat 3.3.2+, 4.1.28+
and 5.0.13+). For HTTP, it causes mod_proxy_http
to send a 100-Continue to the backend (only valid for
HTTP/1.1 - for non HTTP/1.1 backends, this property has no
effect). In both cases, the parameter is the delay in seconds to wait
for the reply.
This feature has been added to avoid problems with hung and
busy backends.
This will increase the network traffic during the normal operation
which could be an issue, but it will lower the
traffic in case some of the cluster nodes are down or busy.
By adding a postfix of ms, the delay can be also set in
| |||||||
receivebuffersize | 0 | Adjusts the size of the explicit (TCP/IP) network buffer size for
proxied connections. This allows you to override the
ProxyReceiveBufferSize for a specific worker.
This must be at least 512 or set to 0 for the system default.
| |||||||
redirect | - | Redirection Route of the worker. This value is usually set dynamically to enable safe removal of the node from the cluster. If set, all requests without session id will be redirected to the BalancerMember that has route parameter equal to this value. | |||||||
retry | 60 | Connection pool worker retry timeout in seconds. If the connection pool worker to the backend server is in the error state, Apache httpd will not forward any requests to that server until the timeout expires. This enables to shut down the backend server for maintenance and bring it back online later. A value of 0 means always retry workers in an error state with no timeout. | |||||||
route | - | Route of the worker when used inside load balancer. The route is a value appended to session id. | |||||||
status | - | Single letter value defining the initial status of
this worker.
| |||||||
timeout | ProxyTimeout |
Socket timeout in seconds. The number of seconds Apache httpd waits for data sent by / to the backend. | |||||||
ttl | - | Time to live for inactive connections and associated connection pool entries, in seconds. Once reaching this limit, a connection will not be used again; it will be closed at some later time. | |||||||
flusher | flush | Name of the provider used by | |||||||
secret | - | Value of secret used by mod_proxy_ajp .
It must be identical to the secret configured on the server side of the
AJP connection.Available in Apache HTTP Server 2.4.42 and later. | |||||||
upgrade | - | Protocol accepted by | |||||||
mapping | - | Type of mapping between the path and the url.
This determines the normalization and/or (non-)decoding that
ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded <Location "/special%3Fsegment"> Require ip 172.17.2.0/24 </Location>
ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet <Location "/some/path"> Require valid-user </Location> NoteIt is recommended to use the same mapping on the Apache httpd side than the one
used on the backend side. For instance when configuring authorizations in
| |||||||
addressttl | -1 | TTL in seconds for how long DNS resolutions of the backend address are cached. -1 means until restart of Apache httpd. |
If the Proxy directive scheme starts with the
(eg: balancer://cluster
any path information is ignored), then a virtual worker that does not really
communicate with the backend server will be created. Instead, it is responsible
for the management of several "real" workers. In that case, the special set of
parameters can be added to this virtual worker.
See mod_proxy_balancer
for more information about how
the balancer works.
Balancer parameters |
Parameter | Default | Description |
lbmethod | byrequests | Balancer load-balance method. Select the load-balancing scheduler
method to use. Either byrequests , to perform weighted
request counting; bytraffic , to perform weighted
traffic byte count balancing; or bybusyness , to perform
pending request balancing. The default is byrequests .
maxattempts | One less than the number of workers, or 1 with a single worker. | Maximum number of failover attempts before giving up. |
nofailover | Off | If set to On , the session will break if the worker is in
error state or disabled. Set this value to On if backend
servers do not support session replication.
stickysession | - | Balancer sticky session name. The value is usually set to something
like JSESSIONID or PHPSESSIONID ,
and it depends on the backend application server that support sessions.
If the backend application server uses different name for cookies
and url encoded id (like servlet containers) use | to separate them.
The first part is for the cookie the second for the path.Available in Apache HTTP Server 2.4.4 and later. |
stickysessionsep | "." | Sets the separation symbol in the session cookie. Some backend application servers do not use the '.' as the symbol. For example, the Oracle Weblogic server uses '!'. The correct symbol can be set using this option. The setting of 'Off' signifies that no symbol is used. |
scolonpathdelim | Off | If set to On , the semi-colon character ';' will be
used as an additional sticky session path delimiter/separator. This
is mainly used to emulate mod_jk's behavior when dealing with paths such
as JSESSIONID=6736bcf34;foo=aabfa
timeout | 0 | Balancer timeout in seconds. If set, this will be the maximum time to wait for a free worker. The default is to not wait. |
failonstatus | - | A single or comma-separated list of HTTP status codes. If set, this will force the worker into error state when the backend returns any status code in the list. Worker recovery behaves the same as other worker errors. |
failontimeout | Off | If set, an IO read timeout after a request is sent to the backend will
force the worker into error state. Worker recovery behaves the same as other
worker errors. Available in Apache HTTP Server 2.4.5 and later. |
nonce | <auto> | The protective nonce used in the balancer-manager application page.
The default is to use an automatically determined UUID-based
nonce, to provide for further protection for the page. If set,
then the nonce is set to that value. A setting of None
disables all nonce checking.
NoteIn addition to the nonce, the |
growth | 0 | Number of additional BalancerMembers to allow to be added to this balancer in addition to those defined at configuration. |
forcerecovery | On | Force the immediate recovery of all workers without considering the
retry parameter of the workers if all workers of a balancer are
in error state. 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. In this case,
set to Off .Available in Apache HTTP Server 2.4.2 and later. |
A sample balancer setup:
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10 ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On <Proxy "balancer://mycluster"> BalancerMember "ajp://188.8.131.52:8009" BalancerMember "ajp://184.108.40.206:8009" loadfactor=20 # Less powerful server, don't send as many requests there, BalancerMember "ajp://22.214.171.124:8009" loadfactor=5 </Proxy>
Configuring hot spares can help ensure that a certain number of workers are always available for use per load balancer set:
ProxyPass "/" "balancer://sparecluster/" <Proxy balancer://sparecluster> BalancerMember ajp://184.108.40.206:8009 BalancerMember ajp://126.96.36.199:8009 # The servers below are hot spares. For each server above that is unusable # (draining, stopped, unreachable, in error state, etc.), one of these spares # will be used in its place. Two servers will always be available for a request # unless one or more of the spares is also unusable. BalancerMember ajp://126.96.36.199:8009 status=+R BalancerMember ajp://220.127.116.11:8009 status=+R </Proxy>
Setting up a hot-standby that will only be used if no other members (or spares) are available in the load balancer set:
ProxyPass "/" "balancer://hotcluster/" <Proxy "balancer://hotcluster"> BalancerMember "ajp://220.127.116.11:8009" loadfactor=1 BalancerMember "ajp://22.214.171.124:8009" loadfactor=2.25 # The server below is on hot standby BalancerMember "ajp://220.127.116.11:8009" status=+H ProxySet lbmethod=bytraffic </Proxy>
Additional ProxyPass Keywords
Normally, mod_proxy will canonicalise ProxyPassed URLs. But this may be incompatible with some backends, particularly those that make use of PATH_INFO. The optional nocanon keyword suppresses this and passes the URL path "raw" to the backend. Note that this keyword may affect the security of your backend, as it removes the normal limited protection against URL-based attacks provided by the proxy.
Normally, mod_proxy will include the query string when generating the SCRIPT_FILENAME environment variable. The optional noquery keyword (available in httpd 2.4.1 and later) prevents this.
The optional interpolate
keyword, in combination with
, causes the ProxyPass
to interpolate environment variables, using the syntax
${VARNAME}. Note that many of the standard CGI-derived
environment variables will not exist when this interpolation happens,
so you may still have to resort to mod_rewrite
for complex rules. Also note that interpolation is supported
within the scheme/hostname/port portion of a URL only for variables that
are available when the directive is parsed
(like Define
). Dynamic determination of
those fields can be accomplished with mod_rewrite
The following example describes how to use mod_rewrite
to dynamically set the scheme to http or https:
RewriteEngine On RewriteCond "%{HTTPS}" =off RewriteRule "." "-" [E=protocol:http] RewriteCond "%{HTTPS}" =on RewriteRule "." "-" [E=protocol:https] RewriteRule "^/mirror/foo/(.*)" "%{ENV:protocol}://backend.example.com/$1" [P] ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"
Since Apache HTTP Server 2.4.47, protocol Upgrade (tunneling) can be handled
end-to-end by mod_proxy_http
using the ProxyPass
parameter upgrade.
End-to-end means that the HTTP Upgrade request from the client/browser is first
forwarded by mod_proxy_http
to the origin server and the connection
will be upgraded (and tunneled by mod_proxy_http
) only if the origin
server accepts/initiates the upgrade (HTTP response 101 Switching Protocols
If the origin server responds with anything else mod_proxy_http
will continue forwarding (and enforcing) the HTTP protocol as usual for this
See Websocket Upgrade (2.4.47 and later) for an example of
configuration using mod_proxy_http
For Apache HTTP Server 2.4.46 and earlier (or if
from 2.4.48 and later disables mod_proxy_http
handling), see the
documentation of mod_proxy_wstunnel
for how to proxy the WebSocket
Description: | Inherit ProxyPass directives defined from the main server |
Syntax: | ProxyPassInherit On|Off |
Default: | ProxyPassInherit On |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | ProxyPassInherit is only available in Apache HTTP Server 2.4.5 and later. |
This directive will cause the current server/vhost to "inherit"
directives defined in the main server. This can cause issues and
inconsistent behavior if using the Balancer Manager for dynamic changes
and so should be disabled if using that feature.
The setting in the global server defines the default for all vhosts.
Disabling ProxyPassInherit also disables BalancerInherit
Description: | Enable Environment Variable interpolation in Reverse Proxy configurations |
Syntax: | ProxyPassInterpolateEnv On|Off |
Default: | ProxyPassInterpolateEnv Off |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in httpd 2.2.9 and later |
This directive, together with the interpolate
argument to
, ProxyPassReverse
, and
enables reverse proxies to be dynamically
configured using environment variables which may be set by
another module such as mod_rewrite
It affects the ProxyPass
, and
and causes them to substitute the value of an environment
variable varname
for the string ${varname}
in configuration directives if the interpolate
option is set.
The scheme/hostname/port portion of ProxyPass
contain variables, but only the ones available when the directive is parsed
(for example, using Define
For all the other use cases, please consider using
Keep this turned off unless you need it!
Adding variables to ProxyPass
for example may lead to
the use of the default mod_proxy's workers configured (that don't allow any fine
tuning like connections reuse, etc..).
Description: | Maps remote servers into the local server URL-space using regular expressions |
Syntax: | ProxyPassMatch [regex] !|url [key=value
[key=value ...]] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Since 2.4.47 the key=value Parameters are honored when the url parameter contains backreference(s) (see note below). |
This directive is equivalent to ProxyPass
but makes use of regular expressions instead of simple prefix matching. The
supplied regular expression is matched against the url, and if it
matches, the server will substitute any parenthesized matches into the given
string and use it as a new url.
context.Suppose the local server has address http://example.com/
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"
will cause a local request for
to be internally converted
into a proxy request to http://backend.example.com/foo/bar.gif
The !
directive is useful in situations where you don't want
to reverse-proxy a subdirectory.
When used inside a <LocationMatch>
section, the first argument is omitted and the
regexp is obtained from the <LocationMatch>
If you require a more flexible reverse-proxy configuration, see the
directive with the
When the URL parameter doesn't use any backreferences into the regular expression, the original URL will be appended to the URL parameter.
Parameters versus url with backreference(s)Since Apache HTTP Server 2.4.47, the key=value
are no longer ignored in a ProxyPassMatch
an url with backreference(s). However to keep the existing
behavior regarding reuse/keepalive of backend connections (which were
never reused before for these URLs), the parameter enablereuse
(or disablereuse) default to off
(resp. on
in this case. Setting enablereuse=on
explicitely allows to
reuse connections unless some backreference(s) belong in
the authority
part (hostname and/or port) of the url
(this condition is enforced since Apache HTTP Server 2.4.55, and produces
a warning at startup because these URLs are not reusable per se).
Take care when constructing the target URL of the rule, considering the security impact from allowing the client influence over the set of URLs to which your server will act as a proxy. Ensure that the scheme and hostname part of the URL is either fixed or does not allow the client undue influence.
Description: | Adjusts the URL in HTTP response headers sent from a reverse proxied server |
Syntax: | ProxyPassReverse [path] url
[interpolate] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
This directive lets Apache httpd adjust the URL in the Location
and URI
headers on HTTP
redirect responses. This is essential when Apache httpd is used as a
reverse proxy (or gateway) to avoid bypassing the reverse proxy
because of HTTP redirects on the backend servers which stay behind
the reverse proxy.
Only the HTTP response headers specifically mentioned above
will be rewritten. Apache httpd will not rewrite other response
headers, nor will it by default rewrite URL references inside HTML pages.
This means that if the proxied content contains absolute URL
references, they will bypass the proxy. To rewrite HTML content to
match the proxy, you must load and enable mod_proxy_html
path is the name of a local virtual path; url is a
partial URL for the remote server.
These parameters are used the same way as for the
For example, suppose the local server has address
; then
ProxyPass "/mirror/foo/" "http://backend.example.com/" ProxyPassReverse "/mirror/foo/" "http://backend.example.com/" ProxyPassReverseCookieDomain "backend.example.com" "public.example.com" ProxyPassReverseCookiePath "/" "/mirror/foo/"
will not only cause a local request for the
to be internally converted
into a proxy request to http://backend.example.com/bar
(the functionality which ProxyPass
provides here).
It also takes care of redirects which the server backend.example.com
sends when redirecting http://backend.example.com/bar
. Apache httpd adjusts this to
before forwarding the HTTP
redirect response to the client. Note that the hostname used for
constructing the URL is chosen in respect to the setting of the UseCanonicalName
Note that this ProxyPassReverse
directive can
also be used in conjunction with the proxy feature
(RewriteRule ... [P]
) from mod_rewrite
because it doesn't depend on a corresponding ProxyPass
The optional interpolate
keyword, used together with
, enables interpolation
of environment variables specified using the format ${VARNAME}.
Note that interpolation is not supported within the scheme portion of a
When used inside a <Location>
section, the first argument is omitted and the local
directory is obtained from the <Location>
. The same occurs inside a <LocationMatch>
section, but will probably not work as
intended, as ProxyPassReverse will interpret the regexp literally as a
path; if needed in this situation, specify the ProxyPassReverse outside
the section or in a separate <Location>
This directive is not supported in <Directory>
or <Files>
Description: | Adjusts the Domain string in Set-Cookie headers from a reverse- proxied server |
Syntax: | ProxyPassReverseCookieDomain internal-domain
public-domain [interpolate] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Usage is basically similar to
, but instead of
rewriting headers that are a URL, this rewrites the domain
string in Set-Cookie
Description: | Adjusts the Path string in Set-Cookie headers from a reverse- proxied server |
Syntax: | ProxyPassReverseCookiePath internal-path
public-path [interpolate] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Useful in conjunction with
in situations where backend URL paths are mapped to public paths on the
reverse proxy. This directive rewrites the path
string in
headers. If the beginning of the cookie path matches
internal-path, the cookie path will be replaced with
In the example given with
, the directive:
ProxyPassReverseCookiePath "/" "/mirror/foo/"
will rewrite a cookie with backend path /
or, in fact, anything) to /mirror/foo/
Description: | Use incoming Host HTTP request header for proxy request |
Syntax: | ProxyPreserveHost On|Off |
Default: | ProxyPreserveHost Off |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Usable in directory context in 2.3.3 and later. |
When enabled, this option will pass the Host:
line from the incoming
request to the proxied host, instead of the hostname specified in the
This option should normally be turned Off
. It is mostly
useful in special configurations like proxied mass name-based virtual
hosting, where the original Host header needs to be evaluated by the
backend server.
Description: | Network buffer size for proxied HTTP and FTP connections |
Syntax: | ProxyReceiveBufferSize bytes |
Default: | ProxyReceiveBufferSize 0 |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
The ProxyReceiveBufferSize
directive specifies an
explicit (TCP/IP) network buffer size for proxied HTTP and FTP connections,
for increased throughput. It has to be greater than 512
or set
to 0
to indicate that the system's default buffer size should
be used.
ProxyReceiveBufferSize 2048
Description: | Remote proxy used to handle certain requests |
Syntax: | ProxyRemote match remote-server [username:password] |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | The optional third argument is usable only in httpd 2.4.59 and later. |
This defines remote proxies to this proxy. match is either the
name of a URL-scheme that the remote server supports, or a partial URL
for which the remote server should be used, or *
to indicate
the server should be contacted for all requests. remote-server is
a partial URL for the remote server. Syntax:
remote-server =
scheme is effectively the protocol that should be used to
communicate with the remote server; only http
and https
are supported by this module. When using https
, the requests
are forwarded through the remote proxy using the HTTP CONNECT method.
ProxyRemote "http://goodguys.example.com/" "http://mirrorguys.example.com:8000" ProxyRemote "*" "http://cleverproxy.localdomain" ProxyRemote "ftp" "http://ftpproxy.mydomain:8080"
In the last example, the proxy will forward FTP requests, encapsulated as yet another HTTP proxy request, to another proxy which can handle them.
This option also supports reverse proxy configuration; a backend webserver can be embedded within a virtualhost URL space even if that server is hidden by another forward proxy.
An optional third argument username:password may be given, which defines the Basic authentication credentials to pass to the configured remote proxy. The credentials will always be sent without first waiting for the remote proxy to send a Basic authentication challenge. The Proxy-Chain-Auth environment variable has no effect if this argument is used.
Description: | Remote proxy used to handle requests matched by regular expressions |
Syntax: | ProxyRemoteMatch regex remote-server [username:password] |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | The optional third argument is usable only in httpd 2.4.59 and later. |
The ProxyRemoteMatch
is identical to the
directive, except that
the first argument is a regular expression
match against the requested URL.
Description: | Enables forward (standard) proxy requests |
Syntax: | ProxyRequests On|Off |
Default: | ProxyRequests Off |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
This allows or prevents Apache httpd from functioning as a forward proxy
server. (Setting ProxyRequests to Off
does not disable use of
the ProxyPass
In a typical reverse proxy or gateway configuration, this
option should be set to
In order to get the functionality of proxying HTTP or FTP sites, you
need also mod_proxy_http
or mod_proxy_ftp
(or both) present in the server.
In order to get the functionality of (forward) proxying HTTPS sites, you
need mod_proxy_connect
enabled in the server.
Do not enable proxying with ProxyRequests
until you have secured your server. Open proxy servers are dangerous
both to your network and to the Internet at large.
Description: | Set various Proxy balancer or member parameters |
Syntax: | ProxySet url key=value [key=value ...] |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | ProxySet is only available in Apache HTTP Server 2.2 and later. |
This directive is used as an alternate method of setting any of the
parameters available to Proxy balancers and workers normally done via the
directive. If used
within a <Proxy balancer url|worker url>
container directive, the url argument is not required. As a side
effect the respective balancer or worker gets created. This can be useful
when doing reverse proxying via a
instead of a
<Proxy "balancer://hotcluster"> BalancerMember "http://www2.example.com:8080" loadfactor=1 BalancerMember "http://www3.example.com:8080" loadfactor=2 ProxySet lbmethod=bytraffic </Proxy>
<Proxy "http://backend"> ProxySet keepalive=On </Proxy>
ProxySet "balancer://foo" lbmethod=bytraffic timeout=15
ProxySet "ajp://backend:7001" timeout=15
Keep in mind that the same parameter key can have a different meaning depending whether it is applied to a balancer or a worker, as shown by the two examples above regarding timeout.
Description: | Set local IP address for outgoing proxy connections |
Syntax: | ProxySourceAddress address |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in version 2.3.9 and later |
This directive allows to set a specific local address to bind to when connecting to a backend server.
Description: | Show Proxy LoadBalancer status in mod_status |
Syntax: | ProxyStatus Off|On|Full |
Default: | ProxyStatus Off |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in version 2.2 and later |
This directive determines whether or not proxy
loadbalancer status data is displayed via the mod_status
server-status page.
Full is synonymous with On
Description: | Network timeout for proxied requests |
Syntax: | ProxyTimeout seconds |
Default: | Value of |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
This directive allows a user to specify a timeout on proxy requests. This is useful when you have a slow/buggy appserver which hangs, and you would rather just return a timeout and fail gracefully instead of waiting however long it takes the server to return.
Description: | Information provided in the Via HTTP response
header for proxied requests |
Syntax: | ProxyVia On|Off|Full|Block |
Default: | ProxyVia Off |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
This directive controls the use of the Via:
header by the proxy. Its intended use is to control the flow of
proxy requests along a chain of proxy servers. See RFC 2616 (HTTP/1.1), section
14.45 for an explanation of Via:
header lines.
, which is the default, no special processing
is performed. If a request or reply contains a Via:
it is passed through unchanged.On
, each request and reply will get a
header line added for the current host.Full
, each generated Via:
line will additionally have the Apache httpd server version shown as a
comment field.Block
, every proxy request will have all its
header lines removed. No new Via:
header will
be generated.


text:
East Campus Hall (ECH)
Hours of operation:
Monday - Friday
7:30am - 4:00pm
Monday - Friday
7:30am - 4:00pm
The University of Waterloo acknowledges that much of our work takes place on the traditional territory of the Neutral, Anishinaabeg, and Haudenosaunee peoples. Our main campus is situated on the Haldimand Tract, the land granted to the Six Nations that includes six miles on each side of the Grand River. Our active work toward reconciliation takes place across our campuses through research, learning, teaching, and community building, and is co-ordinated within the Office of Indigenous Relations.

subset: commoncrawl


text:
Dramatically extend world-class
Progressively e-enable premium web-readiness with market-driven quality vectors. Continually engage cross functional interfaces without 2.0 scenarios. Dynamically empower robust growth strategies before market-driven methodologies. Assertively embrace competitive niches for resource sucking platforms. Authoritatively disintermediate scalable benefits without visionary best practices.
Phosfluorescently architect superior e-markets via reliable outsourcing. Authoritatively provide access to bleeding-edge communities and quality value. Seamlessly syndicate exceptional systems through.


text:
NO Hidden Fees!
Paypal Accepted!
This product is a brand new and unused Stellaris: Synthetic Dawn Story Pack CD Key for Steam
This product is a unique and unused CD Key which can be activated on Steam. After your payment, you will be instantly sent a unique activation code by our automatic delivery system, called 'Autokey'. This unique activation code can be entered into the Steam client (available free from steampowered.com). This will then grant you to a full digital download of the game.
CJS CD Keys sell brand new CD Keys taken directly from brand new sealed copies of the game. We source our keys in bulk direct from major Distributors. After you receive your key, you can activate the game on the Steam client (available free from steampowered.com). After you activate the game with the Steam software, you can download the game immediately and instantly.
The game keys we are selling are sourced from the EU. They are completely region free and include all languages. This means that since this is a steamworks game, you can activate the key from anywhere in the world. There are absolutely no region locks.


text:
You can follow the steps below to disable 2-Step Verification for your account.
Step 1: Log in to your Control Panel. Learn How.
Step 2: Navigate to the Account & Security page.
Click on the icon and then click on Your Account & Security.
Step 3: Disable 2-Step Verification.
Click on the On/Off toggle next to 2-Step Verification to start the process.
Click on Continue to confirm that you wish to disable 2-Step Verification.
Enter the verification code sent to your phone number in the provided field and click on Disable 2-Step Verification.
Click on Okay to complete the process.


text:
The Dental Implant Procedure Englewood, NJ
Losing one or more teeth can be devastating and life-changing, but dental implants allow you to restore full dental functions and the appearance of your smile. They offer a more natural tooth replacement option than other tooth replacement options. The dental implant procedure involves the insertion of metal, screw-like posts into the jawbone to replace the root of the lost tooth, and provide support for an artificial tooth.
The dental implant procedure is available at Advanced Dental Care of Englewood in Englewood and the surrounding area. To get dental implants, you must be in good health and have healthy and adequate bone density. Contact our office at (201) 579-6674 for a consultation.
Dental Implant Procedure
The process of placing dental implants depends on the condition of the patient. The procedure takes multiple stages spread over several months to ensure the success of the implant procedure and the patient's comfort. The uniqueness of dental implants is in their fusion with the jawbone. This fusion is known as osseointegration and accounts for most of the treatment time. The entire procedure is simple and straightforward.
Initial Consultation
The first stage entails a meeting with the dentist for a consultation. During this meeting, the dentist will perform a comprehensive evaluation, including x-rays, CT scans, oral exams, and dental impressions, to determine the patient's eligibility for dental implants and prepare them for the procedure. The x-rays and 3D scans show the condition of the jawbone.
The dentist will need to know the patient's medical history, every medication they currently use, including supplements, prescription, and over-the-counter meds. Patients who have health conditions may receive antibiotics ahead of the procedure to prevent infection. If any oral condition is present, patients will need to undergo treatment before getting dental implants.
Afterward, the dentist will discuss the treatment plan with the patient, including the timeline, the different stages, and aftercare instructions. If a bone graft is necessary (to augment the volume of the jawbone), the dentist will inform the patient. The treatment plan considers the number of missing teeth and the condition of existing teeth and jawbone. If the patient suffers from dental anxiety, the dentist will take necessary measures to keep the patient as comfortable throughout the procedure.
During the initial consultation, patients will be able to discuss their fears and concerns with the dentist. You can ask about the risks of infection, implant rejection, potential allergies, and possible nerve damage. For clarification, you can also ask the dentist about measures to take to ensure the long-term success of the dental implants. The essence of the initial consultation is for patients to get all the information they need before proceeding with the treatment.
Preparing for Dental Implant Procedure
Ahead of the implant placement, patients can do the following to make the process as seamless as possible:
- Use any prescribed antibiotics.
- Clean your mouth with an antibacterial dental rinse.
- Arrange for transportation home after the procedure as you may not be fit to drive.
- Clear your schedule for the day. While you may not be in pain after the procedure, resting afterward will provide need relief.
- Prepare soft foods ahead so you will not have to worry about making foods after the procedure. Great food options include soups, smoothies, and pasta.
- Take headphones along so you can listen to your favorite music. This will serve as a distraction throughout the process.
Placing the Dental Implant
During the procedure, the dentist will make an incision over the gums to reveal the bone. They will put the implant post at the site of the lost tooth. Although every patient is different, most people discover that the discomfort is less than they anticipated. Over-the-counter painkillers are usually enough to manage pain after the procedure.
After the implant placement, there will be a gap at the site of tooth loss. The dentist may place a temporary implant for cosmetic purposes, if necessary. Osseointegration starts immediately and could take several months because the jawbone must integrate with the dental implant to serve as a sturdy foundation of the new artificial tooth.
Placing the Abutment
After osseointegration is over, the dentist will place the abutment, which is the piece that connects the crown to the implant. The procedure is done on an outpatient basis and takes about an hour. It is also possible to place the abutment immediately after implantation. After placing the abutment, the gum will need some time to heal before attaching the crown.
How to Choose the New Artificial Teeth
After the gums heal, the dentist will take additional impressions of the teeth and oral cavity, which will be used to fabricate the new artificial tooth. Patients can decide between fixed and removable tooth prostheses. Removable artificial teeth attach to a metal frame held by the abutment and snap firmly into place. It can be removed easily for routine cleaning and repairs.
A fixed dental prosthesis is screwed or cemented permanently onto the abutment. The prosthesis can only be taken out by a dentist.
Aftercare and Recovery
After the procedure, patients may need to use pain meds and antibiotics to relieve pain and fight infections. If discomfort, swelling, or other symptoms worsen following the procedure, the patient needs to contact the dentist as soon as possible. Until the stitches heal, it is advisable to stick to a diet of soft foods.
Excellent oral hygiene is essential to prolong the lifetime of dental restoration. This includes brushing and flossing regularly, going to the dentist for cleaning and checkup, and avoiding harmful oral habits such as smoking or chewing hard substances.
In Conclusion
Dental implants help to prevent the resorption of osseous tissues by providing the stimulation needed to keep the jawbone alive and healthy. By filling the gap left by a lost tooth, implants prevent other teeth from shifting out of place.
The dental implant procedure is safe, but like any other dental procedure, it has its risks. Typically, dental implants have a success rate of up to 95 percent, but the success depends on factors such as the patient, the dentist, the techniques used, and the number of implants involved. When done by an experienced dentist, the risks of the procedure are minimal.
To learn more about the dental implant procedure, call our office at (201) 579-6674 to request an appointment.
The Dental Implant Procedure FAQ
Q. Is the dental implant procedure painful?
A. With the techniques available and aftercare tips, many patients experience minimal pain throughout the process. In most cases, they can resume their routine the following day. Although bruising and pain may occur, they usually last for only a short time.
Q. Will dental implants function like my natural teeth?
A. Yes. Implants are as secure and reliable as the natural teeth. By the end of the treatment, you will be able to eat your favorite meals. Generally, it will be hard to tell the difference between dental implants and natural teeth.
Q. How long does a dental implant procedure Take?
A. The average treatment period is three to six months. Most of the time is taken up by the osseointegration process. The treatment time usually depends on the patient and the complexity of the situation.
Q. Am I eligible for dental implants?
A. There is a good chance that you are eligible for dental implants. However, the dentist will determine your eligibility by performing different examinations. You need to schedule an initial consultation to get started with the process.
Check out what others are saying about our implant dentistry services on Yelp: Dental Implant Procedure Englewood
Questions Answered on This Page
Q. How can I prepare for the dental implant procedure?
Q. Will dental implants function like my natural teeth?
Q. How long does a dental implant procedure take?
People Also Ask
Q. How do I know if dental implants are right for me?
Definition of Dental Implant Terminology
- Abutment
- An abutment is a component that attaches to the dental implant so a professional can place a dental crown to provide patients with an artificial, aesthetically pleasing and fully-functional smile.
- Bridge
- Multiple replacement teeth that are fixed in place via attachment to dental implants, natural adjacent teeth, or a combination of the two.
- Dental Crown
- A crown is an artificial tooth, usually consisting of porcelain, which covers the top of the implant to provide people with an aesthetically pleasing and fully-functional tooth.
- Dental Implant
- A dental implant is an artificial tooth root that is placed into your jaw to hold a replacement tooth or bridge. Dental implants may be an option for people who have lost a tooth or teeth due to periodontal disease, an injury, or some other reason.
- Endosteal (endosseous)
- Endosteal is a type of dental implant that a professional places in the alveolar and basal bone of the mandible that transcends only one cortical plate.
- Eposteal (subperiosteal)
- Eposteal is a type of dental implant that conforms to whichever edentulous surface of an alveolar bone is superior.
- Implant-Supported Bridge
- An implant-supported bridge is a dental bridge that professionals fix in place with the use of dental implants inserted in the jaw to create a sturdy set of artificial teeth.
- Osseointegration
- Osseointegration is the process in which a titanium dental implant fuses with the surrounding bone over several months after an oral health professional places the implant in the jaw.
- Periodontal
- Literally "around the tooth"
- Resorption
- Resorption is the process in which the body absorbs the calcium from the jaw since there are no tooth roots to cause the necessary stimulation and proceeds to use the calcium in other areas.
- Transosteal (transosseous)
- Transosteal is a type of dental implant that includes threaded posts which penetrate the superior and inferior cortical bone plates of the jaw.
Back to top of The Dental Implant Procedure


text:
Knowledge Platform
Causes of statelessness
Find more educational materials on www.unhcr.org/teaching-about-refugees
Find more educational materials on www.unhcr.org/teaching-about-refugees
The Hub is a virtual "meeting space" where governments, stakeholders and experts can access and share migration-related information and services. It provides curated content, analysis and information on a variety of topics.
The Hub aims to support UN Member States in the implementation, follow-up and review of the Global Compact for Migration by serving as a repository of existing evidence, practices and initiatives, and facilitating access to knowledge sharing via online discussions, an expert database and demand-driven, tailor-made solutions (launching in 2021).
The Hub aims to help you find information on migration, ranging from policy briefs and journal articles, existing portals and platforms and what they offer, to infographics and videos. The different types of resources submitted by users undergo peer review by a panel of experts from within the UN and beyond, before being approved for inclusion in the Hub. To provide guidance to users based on findings of the needs assessment, the content is ordered so that more comprehensive and global resources are shown before more specific and regional ones. Know a great resource? Please submit using the links above and your suggestion will be reviewed. Please see the draft criteria for existing practices here.
Content submitted to the Migration Network Hub is first peer reviewed by experts in the field from both the UN and beyond. Applications are welcomed to join the roster on an ongoing basis. Learn more here.
We welcome your feedback and suggestions, please contact us
*References to Kosovo shall be understood to be in the context of United Nations Security Council resolution 1244 (1999).
Subscribe to our newsletter.


text:
Anchor Castaway
Call for Price
Send an email to Malloves about this productCastaway Collection – Blue Aquamarine Handmade Stone Bracelet with Anchor Sterling Silver Charm
Malloves Jewelers will be closed July 4th to July 8th and reopen Tuesday July 9th @ 1pm
Call for Price
Send an email to Malloves about this productCastaway Collection – Blue Aquamarine Handmade Stone Bracelet with Anchor Sterling Silver Charm
They've been our family Jewelers for years! Friendly staff, very helpful. Will always find great gifts here at a reasonable price!
"Very nice family owned jewelry store. There is a wide range of jewelry and gifts for all price ranges. The jeweler that does all their work is very good! He does high quality beautiful work from custom work to simple repairs. The gemologist is also very knowledgeable and does great work. The entire staff and very friendly and have a great knowledge of the industry."
"I can say I have had a pleasant time just browsing through the store & the people are always friendly"
"I had no idea you sold so many gift items! I got a graduation gift for my 12 year old niece and a gift for my mom, and a gift for a baby shower I'm attending! WONDERFUL SELECTION!"
"So nice! I recommend you to everyone!"
"Honest people. Nice and patient. Most important, they didn't try to "up-sell" me… not pushy. Treated me like a millionaire and never made me feel bad that I have a small budget."
"I am so impressed with the Goldsmith- Tom. He repaired my ring and it looks better than it did when it was new (and it's 20 years old!) WOW! GREAT JOB!"
"I have had two great experiences at Malloves recently. I am getting married this year and had shopped around at a few other places for an engagement ring and wedding band before coming to Malloves. The experience we had at Malloves far exceeded the other places where we had shopped. Everyone is super friendly and helpful and they were willing to go out of the way to find something for us that we loved. Most importantly, they were not pushy at all, which is such a breath of fresh air! Thank you Malloves! :)"
"For over forty years I have received outstanding smiles and service!!! They're like family- we talk sports ( Red Sox/Yankees) of course, school, children, etc. "
"You just can't put a price on trust! When you walk in to Malloves, you don't have to worry about getting what you pay for. I sent my son in to shop for an Engagement Ring, they have a new life customers, and she said yes!"
"I like being treated like a Queen even if I am just browsing! HAHA! Love your store and your staff."
"Everyone is always so nice to me when I come in! Love your store!"
"Nice People. Cool Stuff."
"I can't believe the gift section! It's enormous and items from $5 and up! And Jewelry from $9…"
"This is one of the few jewelry stores that makes you feel at home as soon as you walk in. While the salespeople do not jump on you when you first walk in they do acknowledge you. You have a chance to look around without feeling that you are being pressured. They stand behind their products 100%. I returned an item that was purchased almost a year ago, and when it broke they replaced it free of charge and with out any hassle. I have and will continue to recommend people shop their when they are looking for a nice piece of jewelry."
"I went to shop for an engagement ring and I left with a lot of knowledge and they never pressured me at all…"
"Shopping there is always a fun time, Kathy is a great salesperson and always makes me feel like she has all the time in the world for ME! Love that!"
"Store is much bigger than it looks. Wish I knew there was free parking in back, but otherwise it was a good experience!"
"I paid a little more for the ring my fiance wants at your store. It was cheaper on-line. But once I factored in that you guys do the appraisal, sizing, setting and repairs in your store, plus warranty it, AND I believe in supporting local business, it's a no brainer to shop with you guys! Thanks Marc!"
"Very patient and nice people. I am truly impressed!"
"I wouldn't shop at another jewelry store because the employees at Malloves are so nice and helpful. I LOVE going there!!"
"I only go to your store. The staff is so nice. The repair department is the best around! I trusted them with my grandma's diamond ring and they repaired it beautifully!"
"The mall jewelry store charges $15 to clean my Pandora Bracelet. Malloves does it for FREE! Even if it's not from their store! I will NEVER go anywhere else for my Pandora!"
"Thank you so much to Carey and the Malloves Team. She was able to beautifully reset and turn a family heirloom into a 5 year anniversary gift for my wife. Throughout the process, Carey was incredibly helpful, knowledgeable and informative. Once it's time to buy my wife a 'push present', Carey will be my first and only call."
"After weeks of looking at various stones and settings for an engagement ring at the national chain stores and other out-of-town jeweler stores, my fiance, Helen, and I decided to look closer to home. One Saturday a couple of weeks ago, we were downtown doing some errands when we passed by your store. I asked Helen if she would like to take a look to see what you had. She said yes and that is when we met Pooja and Carey and when Malloves became our jeweler. Sometimes you just don't know what's in your own backyard. Our experience from start-to-finish was amazing. The ladies were very attentive, but not pushy; they were friendly but not phony and best of all, they were quite professional. There was one diamond that Helen was very taken with but we decided to "think about it." About ten minutes later while driving down Route 9, Helen turned to me and said, "I want that diamond." We returned immediately to the store where we were met like old friends. The stone we purchased from your store was amazing and it did enhance our setting. Our setting had special meaning for both us so the ring that Tom fashioned for us instantly became a family heirloom. Thank you Pooja and Carey you are exceptional representatives of Malloves. And thank you Tom for your skillful and creative work. Thank you Malloves for a very special buying experience. "
"This store is wonderful. The staff is wonderful. I wouldn't shop anywhere else."
"The staff took so much time with me to help design the ring of my dreams! I am VERY particular and she was so patient! Malloves made my 10 anniversary so special! Thank you."
"Carey and the rest of the staff are great. They've done good work on my fiancee's ring and customer service has always been excellent. I can't recommend them highly enough."
"Shopping at Malloves is a pleasure! Mark, Christine, and the Malloves team are some of the most wonderful, most friendly people I have ever dealt with!"
Get email updates on special events, sales and more!
Sign Up Now!
No appointment necessary. Thank you for shopping local!
404 Main St.,
Middletown CT 06457
Call: 860.346.9204
Email: firstname.lastname@example.com
New Hours 2024
Tues. 1-5:30
Wed. Thurs. Fri. 10:30-5:30
Sat. 10:30-2:00
Closed Sunday & Monday
Enter any questions and comments below


text:
Firefighters in Southern California are welcoming the latest weather forecast, as lower temperatures and higher humidity could help them control the Camarillo Springs Fire. But the wildfire along the coast remains formidable: It has reportedly burned at least 43 square miles of land and property, nearly doubling in size Friday.
As of Friday night, the fire in Southern California was 20 percent contained, reports member station KPCC, which has been providing live updates on the blaze. Portions of the Pacific Coast Highway remained closed early Friday evening, despite earlier plans to reopen the road. The fire in Ventura County started Thursday morning, about 50 miles northwest of Los Angeles.
After the fire spread to the beaches lining the Pacific Ocean, officials had hoped it might begin to lose momentum. But a shift in the wind sent it speeding back inland, where it filled canyons with fire and smoke Friday.
Forcing evacuations in several communities, the fire has threatened thousands of homes, a university, and a military base. But so far, only 15 homes have reportedly been damaged, in an area where rugged wilderness provides plentiful fuel for fires.
Residents tell the AP is partly the result of strategic thinking:
"[Camarillo Springs] homes were built with sprinkler systems and fireproof exteriors from the roofs to the foundations. Residents are required to clear brush and other combustible materials to within 100 feet of the dwellings, and developers had to make sure the cul-de-sacs that fill the area's canyons were built wide enough to accommodate the emergency vehicles seen on TV racing in to battle the flames."
"'All of our rooftops are concrete tile and all of the exteriors are stucco,' said Neal Blaney, a board member of The Springs Homeowners Association and a 15-year resident. 'There's no wood, so there's almost no place for a flying ember to land and ignite something.'"
According to The Los Angeles Times, another factor is a shift in firefighters' approach in the years since the Green Meadow wildfire destroyed more than 50 homes back in November of 1993.
"With this fire, having experienced Green Meadow, our commanding officers realized much sooner that we were not going to get ahead of this fire," Ventura County Fire Capt. Scott Dettorre said Friday. "Consequently, we were able to put plans in place to minimize damage to a much greater extent. It is the lessons of Green Meadow that is allowing us to do what we are doing out here."
For our Newscast unit, NPR's Mandalit del Barco reports:
"Nearly 1,000 firefighters are working to contain the flames, with more on the way. They've been dumping fire retardant chemicals from air tanker planes. Officials predict it could take all weekend to fully contain the fires."
Copyright 2021 NPR. To see more, visit https://www.npr.org.


text:
SANDY NECK LIGHTHOUSE, Barnstable, Massachusetts - Blueprint Drawing and Plan of the Lighthouse and Keeper House in 1886. Sandy Neck Light is a lighthouse on Sandy Neck, in West Barnstable, Massachusetts, at the entrance to Barnstable Harbor. It was first established in 1826. The current tower was built in 1857 and strengthened in the 1880s.
Dimensions of the Print are: 12" by 20"
This image is printed on heavy matte fine art paper with archival inks. Framing is available. Framed posters include drymounting, UV filtering glass, and your choice of six mouldings, wired and ready to hang upon delivery. All mouldings are approximately 1.5" wide. Please factor in an additional 3" to the listed size for framed items.
Custom sizes are available. If you are interested in a custom size, please let us know through the "ask a question" button in this listing.
Retailers who would like to carry our Maps and Prints, please contact us through the "ask a question" button in this listing, for information and discounts.
1-3 business days
Buyers are responsible for any customs and import taxes that may apply. I'm not responsible for delays due to customs.


text:
Hepatitis A - Pipeline Review, H1 2014
Global Markets Direct's, 'Hepatitis A - Pipeline Review, H1 2014', provides an overview of the Hepatitis A's therapeutic pipeline.
This report provides comprehensive information on the therapeutic development for Hepatitis A, complete with comparative analysis at various stages, therapeutics assessment by drug target, mechanism of action (MoA), route of administration (RoA) and molecule type, along with latest updates, and featured news and press releases. It also reviews key players involved in the therapeutic development for Hepatitis A and special features on late-stage and discontinued projects.
Full Report Details at
- http://www.fastmr.com/prod/816088_hepatitis_a_pipeline_review_h1_2014.aspx?afid=301
Global Markets Direct's report features investigational drugs from across globe covering over 20 therapy areas and nearly 3,000 indications. The report is built using data and information sourced from Global Markets Direct's proprietary databases, Company/University websites, SEC filings, investor presentations and featured press releases from company/university sites and industry-specific third party sources, put together by Global Markets Direct's team. Drug profiles/records featured in the report undergoes periodic updation following a stringent set of processes that ensures that all the profiles are updated with the latest set of information. Additionally, processes including live news & deals tracking, browser based alert-box and clinical trials registries tracking ensure that the most recent developments are captured on a real time basis.
The report enhances decision making capabilities and help to create effective counter strategies to gain competitive advantage. It strengthens R&D pipelines by identifying new targets and MOAs to produce first-in-class and best-in-class products.
Note*: Certain sections in the report may be removed or altered based on the availability and relevance of data for the indicated disease.
* The report provides a snapshot of the global therapeutic landscape of Hepatitis A
* The report reviews key pipeline products under drug profile section which includes, product description, MoA and R&D brief, licensing and collaboration details & other developmental activities
* The report reviews key players involved in the therapeutics development for Hepatitis A and enlists all their major and minor projects
* The report summarizes all the dormant and discontinued pipeline projects
* A review of the Hepatitis A products under development by companies and universities/research institutes based on information derived from company and industry-specific sources
* Pipeline products coverage based on various stages of development ranging from pre-registration till discovery and undisclosed stages
* A detailed assessment of monotherapy and combination therapy pipeline projects
About Fast Market Research
Fast Market Research is a leading distributor of market research and business information. Representing the world's top research publishers and analysts, we provide quick and easy access to the best competitive intelligence available. Our unbiased, expert staff is always available to help you find the right research to fit your requirements and your budget.
For more information about these or related research reports, please visit our website at http://www.fastmr.com or call us at 1.800.844.8156.
You may also be interested in these related reports:
- Hepatitis C - Pipeline Review, H1 2014
- Type 1 Diabetes (Juvenile Diabetes) - Pipeline Review, H1 2014
- Metastatic Breast Cancer - Pipeline Review, H1 2014
- Breast Cancer - Pipeline Review, H1 2014
- Multiple Myeloma (Kahler's Disease) - Pipeline Review, H1 2014
Hepatitis A - Pipeline Review, H1 2014 - New Market Study Published
Company: Fast Market Research, Inc.
Contact Name: Bill Thompson
Contact Email: firstname.lastname@example.com
Contact Phone: 1-413-485-7001
Contact Name: Bill Thompson
Contact Email: email@example.com
Contact Phone: 1-413-485-7001