La aplicación proxy solicita la dirección para acceder al servicio local (un servidor local en la misma LAN) para facilitar la prueba de la aplicación

Escenario de aplicación

(El nombre de dominio de la aplicación móvil solicita el servicio local de PC de la red de área local) Debido al uso de dcloud wap2app, m station se cambia a app, wap2app especifica el nombre de dominio de back-end y lo resuelve como appid, la dirección de solicitud no se puede cambiar y las funciones como compartir solo se pueden probar en el teléfono móvil, cree una prueba El entorno es complejo, por lo que quiero asignar el proxy de nombre de dominio de solicitud de aplicación al servicio en segundo plano del lado de la PC en la LAN, y comencé a implementar esta idea .

implementar ideas

El lado de la PC puede usar el archivo de hosts para especificar la asignación de nombres de dominio. El lado del teléfono móvil no puede modificar los hosts, pero podemos configurar un proxy para permitir el acceso a la red del teléfono a través del lado de la computadora de la PC. En este momento, el la computadora está configurando hosts para asignar el nombre de dominio del servicio solicitado por la aplicación de la aplicación a la computadora PC en la dirección IP del servicio.

descripción de los anfitriones

En pocas palabras, el nombre de dominio que solicitó primero irá a la configuración de hosts para ver si hay una coincidencia y usarlo directamente. No busqué en dns nuevamente (si los hosts están configurados y no surten efecto, limpie el caché de dns del navegador y el cmd de caché de dns local -> ipconfig /flushdns)

PC ahora fiddler realiza el monitoreo del puerto

inserte la descripción de la imagen aquí
En este punto, escucharemos el puerto 8888 para el reenvío de tráfico.

Proxy de configuración del teléfono

inserte la descripción de la imagen aquí
En primer lugar, asegúrese de que el teléfono móvil y la computadora estén en la misma red de área local.
La dirección del servidor proxy es la dirección IP de la computadora. Cmd ipconfig verifica
la dirección del servicio proxy. Esta dirección es el puerto de escucha establecido por el PC en el paso anterior.

asignación de configuración de hosts

Modifique y agregue asignaciones al archivo de hosts en C:\Windows\System32\drivers\etc.
inserte la descripción de la imagen aquí
También puede usar switchhosts para configurar y descargar switchhosts como una aplicación de código abierto. Recuerda ejecutar con privilegios de administrador

Ahora el móvil puede acceder

proceso de acceso

La aplicación móvil envía una solicitud a test.com.cn al servidor proxy en el puerto 192.168.46.184: 8888. El servidor proxy reenvía la solicitud a test.com.cn al archivo de hosts para buscar test.com.cn correspondiente a la máquina local 192.168.46.184 (por defecto 80 si no hay puerto escrito, hosts No es tierno llenar el puerto, así que mi servicio local inicia el puerto 80) Bueno, este es el proceso

Problemas encontrados en el uso

1. Apague el proxy en la red de telefonía móvil, abra la aplicación normalmente, abra el proxy al día siguiente, visite la página porque no hay cambios en la dirección de back-end debido a la solicitud de Vue, se encuentra que la aplicación móvil tiene guardó en caché la página y la solicitud sigue siendo la dirección del servidor, desinstale la aplicación y vuelva a instalarla.
2. Problemas entre dominios de front-end y back-end, porque el nombre de dominio de la dirección de front-end de la solicitud de aplicación interceptada está incluido en app.com.cn/appweb. La dirección de fondo de la solicitud es 192.168.46.184:8080/app no. el mismo nombre de dominio, por lo que dará lugar a dominios cruzados, en este momento podemos poner las configuraciones de nombre de dominio de fondo y de front-end en la configuración de fondo de front-end app.com.cn/appweb app.com.cn/app
para que no sea entre dominios, reenviamos el nombre de dominio configurado antes del switchhost al local, y luego usamos la ruta nginx Actuar como agente

 		 listen 80;
        server_name app.com.cn ;
        location /app {//后台服务代理
            proxy_pass   http://192.168.46.184:8080;//后台服务地址
        }
        location /appweb{//页面服务代理
            proxy_pass   http://192.168.46.184:8081;//前台服务地址
        }

Gracias especiales

Gracias hermano Cai por sus sugerencias durante el proceso de implementación y gracias por mirar.

Supongo que te gusta

Origin blog.csdn.net/shixiaodongmain/article/details/122074663
Recomendado
Clasificación