
Tengo...
<VirtualHost example.com:80>
ServerAdmin webmaster@localhost
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
que va inmediatamente a...
<IfModule mod_ssl.c>
<VirtualHost example.com:443>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias example.com
DocumentRoot /home/klyde/ror/exampledev/public
SSLCertificateFile /etc/apache2/ssl/certs/123abc.crt
SSLCertificateChainFile /etc/apache2/ssl/certs/gd_bundle-g2-g1.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/examplekey.key
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLEngine on
SSLProxyEngine On
ProxyRequests On
<Proxy *>
AddDefaultCharset off
#Options Indexes FollowSymLinks
AllowOverride none
<RequireAny>
#<RequireAll>
# Require all granted
#</RequireAll>
<RequireAll>
Require host example.com
</RequireAll>
<RequireAll>
Require local
# Require ip 127.0.0.1
</RequireAll>
</RequireAny>
</Proxy>
ProxyPassReverseCookiePath / /
ProxyPass /errors/ !
ProxyPass /websockets ws://127.0.0.1:8675/
ProxyPassReverse /websockets ws://127.0.0.1:8675/
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
</IfModule>
Cuando habilito...
Require all granted
todo funciona bien. Pero el sitio está invadido por phishing. Me gustaría...
Require host example.com
Pero esto resulta en un error de registro...
access check of 'example.com' to / failed, reason: unable to get the remote host name
Elegí esta configuración porque quiero detener SSL en Apache y ajp a Torquebox. Esto funciona bien, excepto cuando se intenta proteger el sitio. Por supuesto, Apache con Torquebox puede no ser del todo deseable, aconsejable, etc. Se aceptan sugerencias en sentido contrario.
Pregunta principal: ¿Por qué aparece el error 'nombre de host remoto'? ¿Algunas ideas?
Respuesta1
Determinar el host remoto por su nombre solo funciona si la dirección IP remota tiene PTR
registros, no todas las direcciones IP los tienen. Si puede, utilice direcciones IP en la Require
declaración.
También puede utilizar la autenticación básica (preferiblemente a través de https) para restringir el acceso.
No debería necesitar definir a proxy
si lo único que desea es proxypass
funcionalidad.
Si necesita utilizar un proxy, intente restringirlo a su dominio.
<Proxy http://www.example.com/*>
....
</Proxy>
Respuesta2
creo que puedes usar
Require ip 127.0.0.1
con IP de su servidor en lugar de la IP local
Respuesta3
Si solo desea abrir las cosas y permitir solicitudes provenientes de cualquier IP, puede usar:
Require all granted
Puedes buscar aquí para más información:https://serverfault.com/a/887196/468080