> La lista completa de artículos está en [llms.txt](https://docs.f3cloud.com/llms.txt). Cada página tiene versión en Markdown, basta con añadir .md a su dirección. Esta página en Markdown: [https://docs.f3cloud.com/es/vpn-guide/setup-vless-xhttp.md](https://docs.f3cloud.com/es/vpn-guide/setup-vless-xhttp.md).

# Cómo configurar VLESS + TLS + XHTTP en 3X-UI con tu propio dominio

Cómo configurar VLESS + TLS + XHTTP en el panel 3x-ui en tu propio VPS. Compra y vinculación del dominio, emisión del certificado SSL, protección del servidor y elección del cliente.

### Ventajas de XHTTP

**El transporte XHTTP** imita el comportamiento de **un navegador web normal**. El tráfico se divide en fragmentos que viajan como **peticiones HTTP** estándar _(por ejemplo, `POST` o `GET`)_. Admite **HTTP/1.1** y **HTTP/2**.

**Para el proveedor parece** que estás subiendo imágenes o enviando datos a una web a través de una API. Bloquear este tráfico **sin «romper»** la mitad del internet normal es **muy difícil**.

> **Importante.**
>
> El núcleo oficial de **sing-box** **no admite** el transporte XHTTP. Para conectarte, usa clientes basados en **Xray-core** versión 1.8.10 o posterior.

### Paso 1. Preparación del servidor y requisitos del sistema

Te recomendamos usar **nuestros servidores** de [**F3 Cloud**](https://f3cloud.com/es?ref=docs) – **cumplen por completo los requisitos del sistema** del proyecto y son compatibles con las instrucciones de abajo.

| Parámetro               | Requisitos mínimos            |
| ----------------------- | ----------------------------- |
| vCPU (núcleo virtual)   | Desde 1 núcleo                |
| RAM                     | Desde 1 GB                    |
| Almacenamiento          | Desde 10 GB SSD               |
| Sistema operativo       | Ubuntu 24.04 (recomendado)    |

> Te aconsejamos fijarte en la configuración **DE-RZ9-1**. El servidor funciona con un procesador AMD Ryzen 9 5950X con puerto de 1 Gbit/s y cubre de sobra los requisitos del proyecto.

### Paso 2. Elegir la configuración del servidor

Después de iniciar sesión o registrarte en el panel de [**F3 Cloud**](https://docs.f3cloud.com/es/client-area/registration.md), pulsa el botón <kbd>Order service</kbd> para pasar a la elección del servidor.

<figure><img src="https://docs.f3cloud.com/img/gb-2ae3a9dc-spaces-UZCon1KDFCWX5Lp410mU-uploads-LNFlMLsfjQxHaqKUEHVB-Group-22.png" alt=""><figcaption></figcaption></figure>

En el menú <kbd>**Order service**</kbd> primero aparecen los planes principales. Para ver la lista completa, pulsa **View all**.

Cómo elegir el servidor:

* en la tarjeta **DE-RZ9-1**, pulsa el botón <kbd>**Order**</kbd>;
* en la configuración del servidor, elige el sistema operativo <kbd>**Ubuntu 24.04**</kbd>;
* pulsa el botón <kbd>**Pay**</kbd> para completar el pedido.

<figure><img src="https://docs.f3cloud.com/img/gb-5a9675b8-spaces-UZCon1KDFCWX5Lp410mU-uploads-IMcgyDhlyuaQ7js3oE17-Group-23.png" alt=""><figcaption><p>La captura muestra los pasos del pedido. En tu caso, elige Ubuntu 24.04 y no Debian.</p></figcaption></figure>

### Paso 3. Activación del servidor

Después del pago, el pedido se procesa automáticamente. La activación del servidor no suele tardar más de **2 minutos**.

<figure><img src="https://docs.f3cloud.com/img/gb-10ec902d-spaces-UZCon1KDFCWX5Lp410mU-uploads-7LwPhaFG5AcF4PX7U8u2-image-17.png" alt=""><figcaption><p><em>El estado «Processing» significa que hay que esperar un poco.</em></p></figcaption></figure>

Puedes seguir el estado actual en el **panel de control**. En cuanto el servidor esté listo, el estado cambiará a <kbd>**Active**</kbd>.

> **Nota.**
>
> A veces la activación tarda más por la carga elevada y la cola de pedidos en la ubicación elegida. Si el servidor no se ha activado en 10 minutos, escríbenos en un ticket y revisaremos el estado del pedido enseguida.

### Paso 4. Obtener los datos del servidor

1. Espera a que el servidor se active por completo.
2. En el área de cliente, marca la casilla junto al servidor y pulsa el botón <kbd>**Instruction**</kbd> en el menú superior.
3. Copia los datos de conexión que aparecen en la instrucción:
   * <kbd>Server IP address</kbd>;
   * <kbd>Username</kbd>;
   * <kbd>Password</kbd>.

En la captura de abajo se ve dónde encontrar esta información.

<figure><img src="https://docs.f3cloud.com/img/gb-ff9ec2de-spaces-UZCon1KDFCWX5Lp410mU-uploads-WcFSueCBKPdJrovv4Ar8-Group-10.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/gb-05e09083-spaces-UZCon1KDFCWX5Lp410mU-uploads-8VmoOz7sQnvGZAr0LfhW-Group-24.png" alt=""><figcaption><p>Los datos del servidor también te llegan por correo electrónico.</p></figcaption></figure>

### Paso 5. Comprar y configurar el dominio

Para XHTTP con TLS necesitas un dominio propio que apunte a la dirección IP del servidor. Sirve el dominio más barato de cualquier registrador, por ejemplo reg.ru o Selectel.

> **Consejo.**
>
> Elige un nombre de dominio neutro, que parezca una web normal, por ejemplo `shaurma-ashotika.ru`. No uses en el nombre palabras como vpn, proxy, xray, vless, reality y similares. El nombre del dominio se transmite sin cifrar (SNI), y esas palabras son fáciles de detectar con una lista.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-01.png" alt=""><figcaption><p>La configuración se muestra con reg.ru como ejemplo.</p></figcaption></figure>

Escribe el nombre del dominio y pulsa el botón <kbd>**Подобрать**</kbd> (Buscar).

La web te llevará a la página de pago, **aquí presta atención**. Quita del pedido el dominio .online y deja solo el dominio .ru.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-02.png" alt=""><figcaption></figcaption></figure>

Después pulsa el botón <kbd>**Перейти в заказ**</kbd> (Ir al pedido).

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-03.png" alt=""><figcaption></figcaption></figure>

Aquí haz lo mismo – **desmarca todas las casillas verdes** y deja **solo tu dominio .ru**. Pulsa el botón <kbd>**Оплатить**</kbd> (Pagar) y la web te llevará a la página de registro. Sigue las instrucciones del registrador.

Después del pago tendrás acceso al área de cliente del registrador y a la configuración del dominio. Sigue los pasos que se ven en las capturas.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-04.png" alt=""><figcaption><p>Pulsa el icono redondo.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-05.png" alt=""><figcaption><p>Pulsa la ficha con tu dominio.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-06.png" alt=""><figcaption><p>Pulsa «Изменить» (Editar).</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-07.png" alt=""><figcaption><p>Pulsa el icono del lápiz junto a los registros.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-08.png" alt=""><figcaption><p>En el campo IP Address, escribe la dirección IP de tu servidor.</p></figcaption></figure>

Ya casi está. Solo falta esperar a que el nuevo registro A del dominio empiece a apuntar a tu VPS.

> **Nota.**
>
> El registro A le dice a todo internet que tu dominio (por ejemplo, `myserver.com`) está vinculado a la dirección IP de tu servidor. Normalmente los cambios se aplican en unas horas y, en casos raros, hasta en 48 horas.
>
> Puedes comprobar el registro A con el comando `dig myserver.com A +short`. Si el comando muestra la dirección IP de tu servidor, ya puedes pasar al siguiente paso.
>
> Si el dominio funciona a través de Cloudflare, desactiva el proxy para este registro (nube gris en lugar de naranja). Si no, la conexión pasará por los servidores de Cloudflare y no irá directamente a tu VPS.

### Paso 6. Configurar el servidor y el panel

Instala cualquier cliente SSH, por ejemplo Termius, PuTTY o PowerShell. Conéctate al servidor por SSH (puerto 22) **con los datos que recibiste al contratar el servidor**.

**1.** Una vez conectado al servidor, actualiza el sistema:

```bash
apt update && apt upgrade -y
reboot # después de la actualización, reinicia el servidor y vuelve a conectarte
```

> **Consejo.**
>
> Puedes configurar la conexión con nuestro script automático, disponible en [https://github.com/yafoxins/3xui-autoinstall](https://github.com/yafoxins/3xui-autoinstall).

**2.** Vuelve a conectarte al servidor y ejecuta el comando de instalación de 3x-ui:

```bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v2.8.10
```

<figure><img src="https://docs.f3cloud.com/img/gb-a70a2bc8-spaces-UZCon1KDFCWX5Lp410mU-uploads-XM24rYPlUkRBpHiOKYtw-view-current-settings.on02auj_.png" alt=""><figcaption></figcaption></figure>

**3.** El instalador te ofrecerá cambiar el puerto del panel 3x-ui:

```text
Would you like to customize the Panel Port settings? (If not, a random port will be applied) [y/n]:
# responde "y" y pulsa Enter
# cuando te pregunte por el puerto, responde "8080" y pulsa Enter
```

**4.** Instala el certificado en el panel 3x-ui.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-09.png" alt=""><figcaption><p>Elige la opción 2.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-10.png" alt=""><figcaption><p>No escribas nada, solo pulsa Enter.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-11.png" alt=""><figcaption><p>Los datos de acceso al panel. Abre la dirección en el navegador.</p></figcaption></figure>

**5.** Crea una conexión en el panel.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-12.png" alt=""><figcaption><p>Abre la sección «Inbounds».</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-13.png" alt=""><figcaption><p>Crea una conexión.</p></figcaption></figure>

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-14.png" alt=""><figcaption><p>Rellena los campos como en la captura, con tus propios valores.</p></figcaption></figure>

> **Consejo.**
>
> En los ajustes TLS de la conexión, elige en el campo **uTLS** la huella `firefox` o `edge` en lugar de `chrome`, que viene por defecto. La huella de Chrome es ahora la que más sospechas despierta en los filtros de los proveedores, porque la usan casi todas las aplicaciones VPN. La limitación de `edge` de la que hablamos en los artículos sobre Reality no se aplica a XHTTP con TLS normal.

> **Importante.**
>
> Después de cada cambio en los ajustes de la conexión, **pulsa siempre** `Get New ECH Cert`. Si la conexión no es estable, prueba uno por uno los modos `stream-up`, `stream-one` y `packet-up` y quédate con el que mejor funcione en tu red.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-15.png" alt=""><figcaption><p>Rellena los campos como en la captura y pulsa <strong>Get New ECH Cert</strong>.</p></figcaption></figure>

**6.** Vuelve al terminal y pulsa `Ctrl+C`. Ahora **emite el certificado** para tu dominio. Escribe los comandos uno a uno, **con tus propios valores**:

```bash
curl https://get.acme.sh | sh -s email@example.com
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
~/.acme.sh/acme.sh --issue -d tu-dominio.ru --standalone
```

Una vez emitido el certificado, los archivos estarán en estas rutas:

```text
Certificado: /root/.acme.sh/tu-dominio.ru_ecc/fullchain.cer
Clave: /root/.acme.sh/tu-dominio.ru_ecc/tu-dominio.ru.key
```

**7.** Indica estas rutas en los ajustes de la conexión de 3x-ui, en los campos <kbd>Public key</kbd> y <kbd>Private key</kbd>, y guarda la conexión.

**8.** La conexión está lista. Pulsa el código QR e impórtalo en tu cliente VPN.

<figure><img src="https://docs.f3cloud.com/img/xhttp/step-16.png" alt=""><figcaption></figcaption></figure>

### Paso 7. Seguridad del servidor

Para configurar **fail2ban** en el panel **3x-ui**, haz lo siguiente:

1. Conéctate al servidor por SSH.
2. Escribe el comando `sudo x-ui`.
3. Abre la sección `IP Limit Management` escribiendo `21`.
4. Elige `Install Fail2ban and configure IP Limit` y confirma escribiendo `y`.

> **Atención.**
>
> Antes de configurar UFW, cambia SSH del puerto **22** a otro puerto siguiendo [nuestra guía](https://docs.f3cloud.com/es/client-area/protect-vps-from-unauthorised-access.md). El nuevo puerto hay que abrirlo con el comando `ufw allow TU-PUERTO/tcp`, porque si no **perderás el acceso al servidor**.

Configurar UFW también es obligatorio:

* abre los puertos de la conexión y del panel con los comandos `ufw allow 443/tcp` y `ufw allow 8080/tcp`;
* activa el cortafuegos con el comando `ufw enable` y confirma escribiendo `y`.

El resto de medidas de protección configúralas **sin falta** con nuestra [guía detallada](https://docs.f3cloud.com/es/client-area/protect-vps-from-unauthorised-access.md).

### Qué cliente usar

XHTTP solo funciona con clientes basados en Xray-core. Te recomendamos:

* **Incy** – iPhone, iPad, Mac, Android, Windows, macOS y Linux. Ahora mismo está disponible en la App Store rusa;
* **Happ** – todas las plataformas. Lo han retirado de la App Store rusa, así que en iPhone y Mac necesitas un Apple ID de otro país;
* **v2rayN** – Windows, macOS y Linux, **v2rayNG** – Android.

Los enlaces de descarga están reunidos en el artículo [sobre Marzban](https://docs.f3cloud.com/es/vpn-guide/marzban-installation.md#incy). Los clientes basados en el núcleo sing-box (Hiddify, NekoBox, Throne) no funcionan con XHTTP.

> **Atención.**
>
> En iPhone, las aplicaciones VPN funcionan con un límite estricto de memoria RAM. XHTTP puede provocar picos breves de consumo de memoria, por lo que el sistema cierra el proceso a la fuerza y la conexión se corta. Si te pasa, prueba otro modo de XHTTP o el cliente Shadowrocket (de pago).
