¿Cómo es posible conectarse a un servidor que se ejecuta en su máquina usando localhost?

Eso realmente tiene que ver con el mapeo de DNS: le está diciendo a su computadora que cuando desea llegar a su sitio virtual (por ejemplo, testbox) debe cargar el código de la carpeta (en Windows debería ser nombres testbox). Entonces agregaría la siguiente línea a su archivo de hosts

127.0.0.1 testbox

De lo contrario, su máquina intentará ponerse en contacto con los servidores DNS de Internet para resolver el nombre de dominio que está utilizando para su sitio y, por supuesto, no habría ningún registro de coincidencia del nombre que está utilizando con la dirección IP.

XAMPP es muy fácil de usar y excelente para principiantes y facilita el mapeo de los puertos que desea utilizar para su aplicación. Si desea configurar una pila usted mismo, busque en Vagrant: le permitirá ejecutar un cuadro de Linux virtualizado en el que puede agregar todos los paquetes que necesita (como servidor Apache, cliente y servidor MySQL, git, etc.).

Sin embargo, para llegar a su sitio, aún necesitará agregar el dominio al registro IP a su archivo de hosts en la máquina host en la que está ejecutando el servidor virtual. Por supuesto, si está configurando un servidor real, entonces no hay host, por lo que ese paso no es necesario. Sin embargo, seguirá configurando registros DNS para su dominio y creará la asignación en el archivo de configuración en el servidor, por lo que sabe que cuando llegue la solicitud de un dominio específico, qué carpeta debe usar para almacenar el contenido.

No estoy familiarizado con XAMPP específicamente. Pero si puede conectarse a 127.0.0.1, entonces debe estar ejecutando un servidor: los paquetes se enrutan exactamente igual, en lo que respecta a la aplicación, como si se estuviera conectando a un sitio remoto. En Apache estándar, verá el proceso ejecutándose como httpd o apache2 con “lsof” y verá que tiene un socket abierto cuando está conectado. Si se conecta a ‘http://127.0.0.1’ probablemente obtendrá el servidor predeterminado, no un host virtual, que generalmente tiene DocumentRoot en / var / www / html. Por lo general, la indexación está desactivada de manera predeterminada, por lo que verá un mensaje de error personalizado como “funcionó”. Si activa la indexación, verá el contenido de / var / www / html, o si crea un archivo /var/www/html/index.html, lo verá. Si agrega alias en / etc / hosts, creo que puede usarlos como hosts virtuales. También puede conectarse a la dirección de Internet local de la máquina, por ejemplo, 192.168.3.4, y puede crear un servidor DNS local y asignar nombres a ellos también, y conectarse desde otras máquinas en su red local si les dice que usen su DNS local. O lo mismo con las máquinas virtuales en el mismo host: puede crear un servidor web multi-host completo y funcional sin tener que pagar un dominio real (aunque eso también funciona).

Si usa una URL de “archivo:”, por ejemplo, archivo: /// var / www / html, puede ver el contenido de una carpeta y usar páginas HTML simples (o no tan simples con JavaScript y CSS), pero ganó ‘ No tiene ningún contenido o registro activo, y no tiene control sobre la memoria caché del navegador.

¿Cómo sabe que “127.0.0.1 apunta a una carpeta en mi máquina”? Es más probable (si está hablando de conectarse a su máquina con un navegador web usando localhost en la url) que la configuración predeterminada de su servidor web apunte a esa carpeta.