Esta pregunta se hizo en los foros de AWS y la respuesta fue configurar un servidor virtual predeterminado que maneje el tráfico en la dirección IP y no realice ningún redireccionamiento. Esto significará que los usuarios normales que accedan a su dirección IP tampoco serán redirigidos.
Alternativamente, puede especificar la parte de ruta de la URL que desea que solicite el ELB e ignorar esa ruta agregando otro RewriteCond:
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/health-check$
RewriteRule ^ http://www.example.com/$1 [R=301,L]
Los usuarios normales que lleguen a esa URL no serán redirigidos.
También podría usar la misma técnica para detectar el User-Agent del ELB.
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker
RewriteRule ^ http://www.example.com/$1 [R=301,L]
Los usuarios normales que falsifiquen su User-Agent no serán redirigidos.
O la dirección IP interna del ELB.
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{REMOTE_ADDR} !^10\.
RewriteRule ^ http://www.example.com/$1 [R=301,L]
Para que esta opción funcione, necesitará mod_rpaf
(para Apache 2.2) o mod_remoteip
(para Apache 2.4) modificar la REMOTE_ADDR
variable para que contenga la parte correcta del contenido del X-Forwarded-For
encabezado. Siempre que lo configure correctamente, un usuario normal no debería poder evitar la respuesta de redireccionamiento.