Tutorial de la serie Nanny "Burst Liver Tidying" - Cómo jugar con Charles Tutorial de artefactos de captura de paquetes (15) - Cómo configurar el proxy inverso con Charles

1. Introducción

En el proceso de desarrollo de aplicaciones, la captura de paquetes es un requisito muy común y algunas solicitudes de aplicaciones no se capturarán cuando el proxy esté configurado en la red. Si necesita capturar paquetes aquí, debe crear un proxy inverso.

2. ¿Qué es un agente?

¿Qué es un agente? Aquí hay una imagen para entender.

Si desea aprender a probar la automatización de la interfaz, aquí le recomiendo una serie de videos. Se puede decir que este video es el tutorial de prueba de automatización de la interfaz número uno en toda la red en la estación B. Al mismo tiempo, el número de en línea usuarios ha llegado a 1.000, y hay notas para coleccionar y usar Intercambios técnicos de varios maestros: 798478386    

[Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de interfaces de Python impartidas por la estación B (la última versión de combate real)_哔哩哔哩_bilibili [Actualizado] La colección más detallada de tutoriales prácticos para pruebas automatizadas de Python interfaces impartidas por la estación B (combate real) La última versión) tiene un total de 200 videos, que incluyen: 1. [Automatización de interfaz] La situación actual del mercado de pruebas de software y los estándares de capacidad de los probadores. , 2. [Automatización de interfaz] Totalmente capacitado en la biblioteca de solicitudes y la lógica de llamada de método subyacente, 3. [Automatización de interfaz] combate de automatización de interfaz y la aplicación de expresiones regulares y extractores JsonPath, etc. Para videos más emocionantes, preste atención a la cuenta UP. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

El proxy se divide en proxy directo y proxy inverso.

3. ¿Qué es un proxy de reenvío?

Echemos un vistazo a la imagen primero ~

【Una castaña más】

A un compañero de clase le gusta la programación para motores de búsqueda y quiere encontrar algunos materiales de aprendizaje a través del motor de búsqueda de Baidu, pero el acceso directo a algunos sitios web puede no ser seguro y su IP estará expuesta. El compañero de clase está bastante angustiado y piensa en cómo usar Baidu. para buscar lo que quiere Información, y no expondrá su IP en el sitio web?

En este momento, le dije al compañero de clase que tengo un servidor proxy en la mano. Este servidor proxy está configurado para reenviar solicitudes http y https a través de nginx. En cuanto a usted, solo necesita configurar esto en la puerta de enlace de su Windows computadora local Puede acceder a Baidu a través del servidor proxy y buscar materiales de aprendizaje relevantes sin revelar su IP real ~

4. ¿Qué es un proxy inverso?

Primero ven a una imagen para entender ~

En correspondencia con el proxy de reenvío, el proxy de reenvío representa al cliente y el proxy inverso al servidor.

Proxy inverso (proxy inverso): se refiere a un servidor proxy para aceptar solicitudes de conexión en Internet, luego reenvía la solicitud al servidor en la red interna y devuelve los resultados obtenidos del servidor al cliente que solicita la conexión en Internet, En este momento, el servidor proxy actúa externamente como un servidor proxy inverso.

En el proceso de alquiler de una casa, además de algunas casas que necesitan pasar por un intermediario, hay algunas que se pueden alquilar directamente a través del arrendador. La situación en la que el usuario encuentra directamente al propietario para alquilar una casa es la situación en la que visitamos directamente el sitio web doméstico sin usar un proxy.

Otra situación es que pensamos que estamos contactando con el propietario, pero a veces puede que no sea el propio propietario, sino sus familiares, amigos o incluso el segundo propietario. Pero no sabemos que el propietario real no se está comunicando con nosotros. Este tipo de segundo propietario que ayuda al propietario real a alquilar una casa es en realidad un servidor proxy inverso. Este proceso es un proxy inverso.

Para escenarios comunes, es el servidor de equilibrio de carga (segundo propietario) que usamos en el desarrollo web, el cliente (inquilino) envía una solicitud al servidor de equilibrio de carga (segundo propietario) y el servidor de equilibrio de carga (segundo propietario) luego reenvía el solicitar Reenviarlo a un servidor real (propietario) para su ejecución y luego devolver el resultado de la ejecución al cliente (inquilino).
El proxy inverso es en realidad un "servidor proxy" que actúa como un proxy para que el "servidor de destino" interactúe con el "cliente".

Al acceder al servidor de destino a través de un servidor proxy inverso, el cliente no sabe quién es el servidor de destino real, ni siquiera sabe que es un proxy.

5. La diferencia entre el proxy directo y el proxy inverso

Aunque el servidor proxy directo y el servidor proxy inverso se encuentran entre el cliente y el servidor real, lo que hacen es reenviar la solicitud del cliente al servidor y luego reenviar la respuesta del servidor al cliente, pero todavía hay algunas diferencias entre los dos.

1. El proxy de reenvío es en realidad el proxy del cliente, lo que ayuda al cliente a acceder a los recursos del servidor a los que no puede acceder. El proxy inverso es el proxy del servidor, lo que ayuda al servidor a equilibrar la carga, proteger la seguridad, etc.

2. El proxy de reenvío generalmente lo asume el cliente, como instalar un software de proxy en su propia máquina. El servidor generalmente asume el proxy inverso, como implementar un servidor proxy inverso en su propio clúster de máquinas.

3. En el proxy de reenvío, el servidor no sabe quién es el cliente real y piensa que el que se visita a sí mismo es el cliente real. En el proxy inverso, el cliente no sabe quién es el servidor real y piensa que es el servidor real que está visitando.

4. La función y el propósito del proxy directo y el proxy inverso son diferentes. El proxy de reenvío se utiliza principalmente para resolver el problema de restricción de acceso. El proxy inverso es para proporcionar equilibrio de carga, protección de seguridad y otras funciones. Ambos pueden mejorar la velocidad de acceso.

6. El trabajo que hay que preparar

  • Cree un Charles utilizable en su propia computadora
  • El número de puerto y la dirección de host del servicio remoto que necesita capturar paquetes
  • Cree un servicio de resolución de DNS local en su propia computadora

7. Pasos específicos (la operación en Windows, lo mismo es cierto para Mac)

1. Asegúrese de que el teléfono móvil pueda conectarse a Charles y que pueda ver los paquetes de datos solicitados normalmente en su computadora (para la captura de paquetes específicos, consulte el tutorial anterior de Brother Hong)

2. Abra Charles, marque Proxy --> Proxise inverso... e ingrese a la interfaz de configuración de proxy inverso. Como se muestra abajo:

 

3. Ingrese a la página Configuración de proxy inverso (configuración de proxy inverso), marque Habilitar proxy inverso. Como se muestra abajo: 

4. Agregue 【Agregar】. Como se muestra abajo:

 

El significado de las opciones en la vista Editar proxy inverso:

puerto local:
puerto de puerto local en el host local para crear un proxy inverso. Este campo puede autocompletarse con un puerto disponible. Si otra aplicación usa el puerto, recibirá un mensaje de advertencia cuando se inicie el proxy inverso

Host remoto: host remoto
El nombre de host o la dirección IP del host remoto como destino del proxy inverso

Puerto remoto: Puerto remoto
El puerto remoto predeterminado es 80, que es el puerto predeterminado para HTTP.

Reescribir redirecciones: reescribir redirecciones
La respuesta del servidor remoto redirigido se reescribirá para que coincida con la dirección de origen del proxy inverso, el valor predeterminado es activado La
respuesta redirigida del servidor remoto es una URL completa, incluso si están dentro del mismo sitio web
si se redirigen a la dirección del servidor remoto, debe reescribirse a la dirección local del proxy inverso; de lo contrario, el cliente usará la URL de redirección al host remoto y, por lo tanto, ya no se conectará a través del proxy inverso

Conservar el host en los campos del encabezado: Conservar el encabezado del host El
encabezado HTTP del host se pasa sin cambios desde la solicitud entrante, en lugar de reescribir el encabezado del host normalmente para que coincida con el host remoto del proxy inverso, el valor predeterminado es desactivado Solo se requiere
si tiene requisitos específicos Reserve el host encabezado; no es necesario para el uso normal

Escuchar en una dirección específica: Escuchar en una dirección específica
Especifique una dirección local para escuchar el proxy inverso, puede habilitar esta opción e ingresar la dirección IP aquí

8.Charles combate real de proxy inverso

El proxy inverso de Charles proporciona una función de reenvío de puertos para solicitudes HTTP que no sean IE, como el seguimiento de la comunicación entre el servidor Smartbi y el servidor XMLA, la comunicación entre el SDK de Smartbi y el servidor, etc.

El servidor Apache está instalado en la computadora A, la dirección IP es: 10.11.53.180 y el servicio está habilitado, el número de puerto es: 80 (predeterminado). Luego, Hongge simplemente implementa una página HTML y accede al servicio en el navegador. Como se muestra abajo:

 

Se produce un error cuando el terminal móvil accede a la página HTML desplegada por el servidor A, pero es necesario registrar la solicitud HTTP del terminal móvil. En este momento, se necesita el proxy inverso de Charles para ayudarnos a resolver este problema. Los pasos específicos de la operación son los siguientes:

1. Busque otra computadora, como la computadora B, cuya dirección IP sea 10.11.53.193. Lo que Hongge demuestra aquí es la computadora local de Hongge, como se muestra en la siguiente figura:

 

2. Instale Charles en la computadora B y enciéndalo. Brother Hong ya lo instaló, por lo que no hay demostración.

3. Seleccione "Proxy"-"Reverse Proxies" en charles para ingresar a la interfaz de configuración de proxy inverso, como se muestra en la siguiente figura:

4. La interfaz de configuración de proxy inverso es la siguiente, haga clic en el botón "Agregar" para crear una nueva configuración de proxy inverso, como se muestra en la figura a continuación: 

 

5. Establezca el número de puerto del proxy inverso, la dirección IP y otra información.

Entre ellos, Local Port se refiere a un puerto libre de la computadora B, como en este ejemplo se usa 8080;
Remote Host se refiere a la IP del servicio de página HTML, es decir, la IP de la computadora A: 10.11.55.182;
Remote Port se refiere al número de puerto del servicio de página HTML, en este ejemplo, el número de puerto para acceder a la página HTML es 80 (puerto predeterminado de Apache).
Haga clic en Aceptar para guardar la configuración del proxy inverso, como se muestra en la siguiente figura:

6. Después de hacer clic en Aceptar en el paso anterior, aparecerá la ventana de la lista de proxy inverso, verifique el proxy inverso que configuramos en el paso anterior y haga clic en Aceptar para habilitarlo, como se muestra en la siguiente figura:

 

7. En cualquier computadora o terminal móvil, puede acceder al servicio de la página HTML a través de http://IP de la computadora B:Puerto Loal port/inde.html configurado en el proxy inverso . En este ejemplo, acceda ingresando http://10.11.53.193:8080/index.html en la configuración del servidor del navegador o terminal móvil , como se muestra en la siguiente figura:

Nota: el acceso debe escribir IP, no localhost.

 

8. El acceso de proxy inverso se controlará en charles y aparecerá una ventana emergente para permitir el acceso por primera vez, seleccione el botón 'Permitir' para permitir el acceso. No se puede acceder antes de configurar el proxy, como se muestra en la siguiente figura:

9. Charles en la computadora B puede registrar solicitudes HTTP, como se muestra en la siguiente figura:

 

 

9. Resumen

El proxy inverso se encuentra entre el usuario y el servidor de aplicaciones, y es un intermediario que conecta al usuario y el servidor.

para que podamos

1. Caché, guarde en caché la respuesta del servidor en su propia memoria, lo que reduce la presión sobre el servidor.

2. Balanceo de carga, asignación de solicitudes de usuarios a múltiples servidores.

3. Control de acceso

4. Agregue algunas cosas especiales para hacer cosas especiales (como el sistema de prevención de intrusiones IPS, el firewall de aplicaciones web, etc.)

Bueno, hoy se está haciendo tarde, así que el hermano Hong explicará y compartirá aquí. Gracias por su paciencia al leer y espero que les sea útil.

 

 

Supongo que te gusta

Origin blog.csdn.net/m0_73409141/article/details/131899079
Recomendado
Clasificación