Solución:
Solución 1:
Y listo, la solución:
<VirtualHost mysite.com:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /home/rotate/public_html
ServerAdmin [email protected]
UseCanonicalName Off
</VirtualHost>
NameVirtualHost mysite.com:80
<VirtualHost 192.168.1.1:80>
ServerName 192.168.1.1
Redirect 403 /
ErrorDocument 403 "Sorry, direct IP access not allowed."
DocumentRoot /usr/local/apache/htdocs
ServerAdmin [email protected]
UseCanonicalName Off
UserDir disabled
</VirtualHost>
<VirtualHost *>
ServerName server.mysite.com
DocumentRoot /usr/local/apache/htdocs
ServerAdmin [email protected]
UserDir disabled
</VirtualHost>
NameVirtualHost mysite.com:443
<VirtualHost mysite.com:443>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /home/rotate/public_html
ServerAdmin [email protected]
UseCanonicalName Off
</VirtualHost>
La solución fue simplemente reemplazar la IP con el nombre de dominio para todas las configuraciones de host virtual, excepto la que necesita redirigir / restringir el acceso directo a la IP.
Solución 2:
La respuesta podría ser mucho más sencilla.
Simplemente copie esto en la parte inferior de httpd.conf (generalmente ubicado en / etc / httpd / conf)
<VirtualHost *:80>
ServerName localhost
Redirect 403 /
UseCanonicalName Off
UserDir disabled
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html
</VirtualHost>
Entonces, solo cuando los visitantes accedan a través de www.example.com, podrán acceder al servidor.
Solución 3:
No puede deshabilitar el acceso IP directo a su servidor a través de HTTPS porque el nombre de host de su host virtual está encriptado dentro del certificado SSL.
Los clientes deben conectarse a su dirección IP, descargar el certificado, leer el contenido y luego pueden verificar que el nombre de host es correcto.
La única otra forma es hacer cumplir SNI, pero causará problemas a los usuarios que navegan con versiones anteriores de Internet Explorer.