# Reverse Proxy

> Usa Reverse Proxy de Proxyman para capturar tráfico HTTP y HTTPS de apps y herramientas de línea de comandos que ignoran el proxy del sistema, a través de un puerto local.

## 1. ¿Qué es? {#1-whats-it}

Reverse Proxy crea un **servidor web local** que reenvía de forma transparente tu tráfico a un servidor remoto. Así, Proxyman puede capturar y registrar tu tráfico.

Reverse Proxy resulta útil cuando trabajas con un cliente que no admite un proxy HTTP/HTTPS, o cuando la configuración del proxy HTTP es demasiado compleja.

Por ejemplo, la mayoría de las apps de línea de comandos no respetan el proxy HTTP/HTTPS del sistema, así que Proxyman no puede capturar su tráfico. Para solucionarlo, puedes:

* Configurar explícitamente un proxy HTTP/HTTPS. Puede ser complicado y depende de la biblioteca de red que utilices. Lee [No pude ver ninguna solicitud de bibliotecas de red de terceros](https://proxyman.com/docs/es/troubleshooting/couldnt-see-any-requests-from-3rd-party-network-libraries) para saber más.
* Usar Reverse Proxy.

Reverse Proxy está disponible desde Proxyman 2.29.0.

## 2. Ventajas {#2-benefit}

* Conecta tu cliente al servidor web local de Proxyman, y Proxyman reenviará el tráfico al host remoto. No necesitas configurar un proxy HTTP/HTTPS en el cliente.
* Importa la configuración de Reverse Proxy desde Charles Proxy.
* Conserva el encabezado Host.
* Proxyman selecciona automáticamente un puerto disponible cuando creas una entrada nueva.
* Usa Breakpoint, Map Local y Scripting con el tráfico de Reverse Proxy 💯.

## 3. Cómo usarlo {#3-how-to-use}

1. Abre el menú **Tools** -> **Reverse Proxy…**
2. Crea una entrada nueva e introduce un Remote Host y un Remote Port. Proxyman selecciona el Local Port automáticamente. Puedes cambiarlo por otro puerto, pero debe estar disponible.
3. Guarda.
4. En tu app cliente, cambia la URL a `http://localhost:<local_port>` (por ejemplo, `http://localhost:10000`)
5. Haz una solicitud e inspecciona el tráfico en la app de Proxyman.

![Ventana de Reverse Proxy de Proxyman con una entrada httpbin que asigna el puerto local 10000 a httpbin.proxyman.app en el puerto 443](https://proxyman.com/docs/assets/proxyman-reverse-proxy-window.jpg)

_Ventana de Reverse Proxy_

![Editor de entradas de Reverse Proxy de Proxyman con el puerto local 10000, el host remoto httpbin.proxyman.app y el puerto remoto 443](https://proxyman.com/docs/assets/proxyman-reverse-proxy-entry-editor.jpg)

_Entrada de Reverse Proxy_

> **Nota:** Proxyman realiza el handshake SSL con tu servidor remoto si el Remote Port es 443. En caso contrario, trata el servidor remoto como un servidor web HTTP normal.
>
> Desde Proxyman 5.17.0, marca **Force Using SSL when connecting to Remote Port** para usar SSL/TLS con cualquier puerto remoto.

> **Nota:** **Preserve Host in Header fields** mantiene el valor original de Host. Úsalo con precaución, porque tu servidor remoto puede rechazar la solicitud si el valor de Host no coincide.

## Más información {#learn-more}

* [Cómo usar Reverse Proxy para capturar HTTP/HTTPS de apps que no usan un proxy HTTP](https://proxyman.com/posts/2023-03-22-How-to-use-Reverse-Proxy)
