Nginx+uWsgi implementa el principio de proxy inverso del proyecto Django

Fundamental

  1. Primero, el navegador del usuario envía una solicitud a nginx, y nginx juzga si es una solicitud dinámica o estática. Si es una solicitud estática, devuelve el archivo estático directamente. Si es una solicitud dinámica, la solicitud se reenvía al servidor uwsgi y uwsgi llama a nuestro django para procesar la solicitud y luego regresa paso a paso.
  2. WSGI es una interfaz de bajo nivel entre un servidor web (uWSGI) y una aplicación web o marco de aplicación (Django)
  3. uWSGI es un servidor web que implementa el protocolo WSGI, uwsgi, http y otros protocolos
  4. uwsgi es el protocolo de comunicación entre el servidor Nginx y el servidor uWSGI, que especifica cómo reenviar solicitudes a aplicaciones y devolver

 

El principio de proxy inverso de Nginx 

Proxy de reenvío:

        Si Internet fuera de la LAN se imagina como un gran grupo de recursos, el cliente en la LAN necesita acceder a Internet a través de un servidor proxy. Este servicio de proxy se denomina proxy de reenvío. El siguiente es el diagrama esquemático del proxy de reenvío.

        Debido al entorno de trabajo, el trabajo diario solo puede limitarse a la LAN de la unidad. Si desea acceder a Internet, ¿qué debe hacer? Esto requiere el uso de proxies de reenvío.

 proxy inverso:

        El cliente desconoce el proxy, porque el cliente puede acceder sin ninguna configuración, solo necesitamos enviar la solicitud al servidor proxy inverso, y el servidor proxy inverso seleccionará el servidor de destino para obtener los datos y devolverlo al cliente, en este momento, el servidor proxy inverso y el servidor de destino son el mismo servidor para el mundo exterior, la dirección del servidor proxy está expuesta y la dirección  del servidor real está oculta  .IP

         inserte la descripción de la imagen aquí

 La diferencia entre el proxy de reenvío y el proxy inverso es, en una frase: si nuestro cliente lo usa, es un proxy de reenvío. Si se usa en el servidor y el usuario no tiene percepción, es un proxy inverso.

 Instancia de proxy inverso

Darse cuenta del efecto:        

        Usando  Nginxun proxy inverso, acceda a 192.168.17.129 y salte directamente a127.0.0.1:8080

Nota: Si desea saltar de 192.168.17.129 al especificado por esta máquina ip, debe modificar hostsel archivo de esta máquina. saltar aquí

código de configuración

server {
	listen       80;
	server_name  192.168.17.129;

	location / {
		root   html;
		index  index.html index.htm;
		proxy_pass  http://127.0.0.1:8080
	}
}

Como se configuró anteriormente, Nginxescuche  80el puerto y acceda a ip192.168.17.129 (el valor predeterminado es  80el puerto si no se agrega un número de puerto), por lo que al acceder a este nombre de dominio, saltará a la  127.0.0.1:8080 ruta. Aquí 127.0.0.1:8080 puede entenderse como la IP y el puerto establecidos por el archivo de configuración del servidor uWsgi uwsgi.ini

El significado aquí es: el servicio de proxy inverso nginx escucha el puerto 80 de 192.168.17.129, si hay una solicitud, irá al servidor correspondiente configurado por proxy_pass, nada más.

En ubicación, cuando las opciones raíz y proxy_pass se configuran al mismo tiempo, las dos opciones solo se ejecutarán.
El proxy inverso https no se puede configurar aquí
 

Reimpreso en: Configuración de Nginx - Proxy inverso 

Supongo que te gusta

Origin blog.csdn.net/weixin_55988897/article/details/128729832
Recomendado
Clasificación