> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ejecución de un servidor HTTP para pruebas

> Cómo instalar http-server de Node.js y servir archivos HTML estáticos localmente para poder seguir los tutoriales de autenticación de PlayFab para Facebook, Google o Twitch.

En algunos escenarios, es posible que necesite ejecutar un servidor HTTP local con fines de prueba. Por ejemplo, si está siguiendo nuestros tutoriales para configurar la autenticación de PlayFab con [Facebook y HTML5](/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5), [Google y HTML5](/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) o [Twitch y HTML5](/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5), y no tiene un servidor remoto con un dominio, este tutorial puede resultarle útil.

## Requisitos previos

* Tener instalado [Node.JS](https://nodejs.org/en/)

## Instalación del servidor HTTP mediante npm

Ejecute la línea de comandos o el terminal en el sistema (no importa en qué directorio se encuentre actualmente).

Ejecute `npm install -g http-server`. Cuando npm finalice, tendrá instalado el pequeño servidor HTTP. Eso es todo.

## Servir archivos

Cree una nueva carpeta en el sistema desde la que quiera servir los archivos estáticos. No hay restricciones específicas para la ruta de acceso en Windows.

En macOS, puede que quiera comprobar el acceso a la carpeta. Dentro de la carpeta recién creada, cree un archivo llamado **index.html**.

Rellene el archivo con el contenido que se proporciona a continuación.

```html theme={null}
<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My Page</title>
</head>

<body>
 <p>Hello world!</p>
</body>
</html>
```

Ejecute la **línea de comandos o el terminal** y use cd para ir a la carpeta con el archivo **index.html**; después:

1. Ejecute **http-server**.
2. **HTTP-server** comenzará a servir archivos desde el directorio actual.
3. También imprimirá todos los puntos de conexión **IP** en los que el servidor está escuchando.
4. Use uno de ellos para acceder al servidor web a través del explorador.
5. Observe cómo se carga la página.

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=d01d646ad860fd92c2917526c08f06f5" alt="Servir archivos con el comando http-server" width="1225" height="602" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/serving-files-with-http-server.png" />

Opcionalmente, puede especificar un puerto en el que ejecutar el servidor.

* **Ejemplo**: ejecute `http-server -p 80` para ejecutar el servidor en el **puerto 80**. Si un puerto está ocupado, tendrá que averiguar qué aplicación está usando ese puerto y cerrarla antes de intentar ejecutar el servidor HTTP de nuevo.

### Servir archivos con un nombre de dominio personalizado

Al probar distintos SDK, por ejemplo, [Google](/services/playfab/identity/player-identity/platform-specific-authentication/google-html5) o [Facebook](/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5), observará que algunos servicios solo se pueden configurar con un nombre de dominio válido determinado.

Por ejemplo, no aceptan una dirección IP sin formato + puerto. Algunos servicios usan esta configuración para garantizar que el explorador capture el código desde un dominio específico y seguro.

También suelen usar esta configuración para garantizar que un usuario solo pueda iniciar sesión en la aplicación desde su dominio, y que nadie más pueda falsificarlo y robar datos de usuario.

<Note>
  Aunque se trata de una restricción de seguridad importante y útil, puede producir complicaciones al intentar probar el código localmente.
</Note>

Si ejecuta el servidor en el puerto 80 y su caso de uso es lo suficientemente sencillo, puede utilizar el archivo HOSTS del sistema operativo para acceder al servidor HTTP mediante un nombre de dominio válido.

El archivo HOSTS es un archivo especial disponible tanto en Windows como en macOS. Le permite invalidar determinados nombres de dominio con puntos de conexión personalizados. Esquemáticamente, el archivo HOSTS tiene este aspecto:

```cmd theme={null}
IP_ADDRESS_1 DOMAIN_NAME_1
IP_ADDRESS_2 DOMAIN_NAME_2
IP_ADDRESS_3 DOMAIN_NAME_3

# This is comment
# IP_ADDRESS_4 DOMAIN_NAME_4 <- this entry is commented out and is inactive
...
```

Cada línea representa exactamente *una* entrada. Cuando intenta acceder a `DOMAIN_NAME_1`, el explorador dirige la solicitud a `IP_ADDRESS_1`.

Lo mismo se aplica a *cada* entrada del archivo HOSTS. En el ejemplo anterior, la entrada número `4` comienza con `#`. Esta es la sintaxis de los comentarios.

Al *comentar* determinadas entradas puede deshabilitarlas, sin necesidad de eliminarlas del archivo HOSTS.

`playfab.example` es un nombre de dominio válido, pero es poco probable que el explorador llegue a algún sitio web con él. Al agregar la siguiente entrada al archivo HOSTS, podrá acceder al servidor HTTP local con ese nombre de dominio.

```cmd theme={null}
127.0.0.1 playfab.example
```

<Note>
  Si usa un puerto distinto del 80, tendrá que agregar el puerto que se creó cuando se inició el servidor local (como el puerto 8080) al final de la dirección URL (`<playfab.example:8080>`)
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/mLCHf0iQv3VidfBe/images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png?fit=max&auto=format&n=mLCHf0iQv3VidfBe&q=85&s=cdcc112f35435bdb52872c45a6c4627a" alt="Servidor HTTP: Hello World" width="660" height="173" data-path="images/playfab/identity/player-identity/platform-specific-authentication/tutorials/http-server-hello-world.png" />

En el sistema operativo Windows, el archivo HOSTS se encuentra normalmente en:

`C:\Windows\System32\drivers\etc\hosts`.

En macOS, el archivo HOSTS se encuentra normalmente en:

`/private/etc/hosts`.

<Warning>
  Al escribir el nombre de dominio en la barra de direcciones del explorador, asegúrese siempre de incluir el esquema: `<http://playfab.example>`.
</Warning>


## Related topics

- [Autenticación de inicio de sesión anónimo de servidor](/es/services/playfab/identity/player-identity/platform-specific-authentication/anonymous-login.md)
- [Configuración de la autenticación de PlayFab con Twitch y HTML5](/es/services/playfab/identity/player-identity/platform-specific-authentication/twitch-html5.md)
- [Configuración del inicio de sesión con Battle.net para PlayFab](/es/services/playfab/identity/player-identity/platform-specific-authentication/battlenet-login.md)
- [Configuración de la autenticación de PlayFab con Google y HTML5](/es/services/playfab/identity/player-identity/platform-specific-authentication/google-html5.md)
- [Configuración de la autenticación de PlayFab mediante Facebook y HTML5](/es/services/playfab/identity/player-identity/platform-specific-authentication/facebook-html5.md)
