Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

Instale Nginx como proxy inverso Apache2 en Ubuntu 16.04

27 feb 2021 2 min di lettura
Instale Nginx como proxy inverso Apache2 en Ubuntu 16.04
Tabla de contenidos

Prerrequisitos

Instalar Apache2

Configuración de Apache2

Lo primero que debemos hacer es cambiar el puerto predeterminado que usa Apache2, por lo que usaremos el puerto 8000 en lugar del 80. Desde la terminal damos este comando:

sudo nano /etc/apache2/ports.conf

Buscamos la línea:


Listen 80

Cambiemos la puerta:


Listen 8000

Guarde y cierre el archivo.

Ahora cambiemos la puerta al. Siempre desde la terminal:

sudo nano /etc/apache2/sites-available/000-default.conf

Estamos buscando:


<VirtualHost 127.0.0.1:80>

Cambiemos la puerta:


<VirtualHost 127.0.0.1:8000>

Guarde y cierre el archivo.

Podemos instalar un módulo Apache2 libapache2-mod-rpaf que tiene la tarea de cambiar la dirección del cliente remoto visible para otros módulos de Apache.

sudo apt-get -y install libapache2-mod-rpaf

Reiniciamos Apache2:

sudo service apache2 restart

Instalación y configuración de Nginx

Para más detalles lea la guía sobre Nginx

Desde la terminal:

sudo apt-get -y install nginx

Activemos el inicio automático de Nginx:

sudo systemctl enable nginx.service

Reiniciamos Nginx:

sudo service nginx restart

Encontraremos configuraciones de proxy predeterminadas en el siguiente archivo:

sudo nano /etc/nginx/proxy_params

Agreguemos las siguientes configuraciones de proxy estándar:


proxy_set_header Host $http_host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;

 client_max_body_size 100M;
 client_body_buffer_size 1m;
 proxy_intercept_errors on;
 proxy_buffering on;
 proxy_buffer_size 128k;
 proxy_buffers 256 16k;
 proxy_busy_buffers_size 256k;
 proxy_temp_file_write_size 256k;
 proxy_max_temp_file_size 0;
 proxy_read_timeout 300;

Guarde y cierre el archivo.

Abramos el archivo de configuración de Nginx:

sudo nano /etc/nginx/sites-available/default

Esta es una configuración básica que nos permite usar Nginx como proxy inverso Apache2:


server {
 listen 80 default_server;
 listen [::]:80 default_server;

 root /var/www/html;

 index index.php index.html index.htm index.nginx-debian.html;

 server_name _;

 location /{
 proxy_pass http://localhost:8000;
 include /etc/nginx/proxy_params;
 }
 }

Reiniciemos Nginx

sudo service nginx reload

Nginx es más rápido que Apache en el servicio de archivos estáticos como Js y CSS, por lo que configuramos Nginx para entregar archivos estáticos directamente y enviar solicitudes PHP a Apache:


server {
 listen 80;
 server_name default_server;
 root /var/www/html;
 index index.php index.htm index.html;

 location /{
 try_files $uri $uri//index.php;
 }

 location ~ \.php$ {
 proxy_pass http://localhost:8000;
 include /etc/nginx/proxy_params;
 }

 location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
 expires 30d;
 }

 }

Guarde y cierre el archivo. Verifiquemos la configuración correcta de Nginx:

sudo nginx -t

Luego reiniciamos Nginx, si no hemos cometido ningún error el servicio se reinicia normalmente:

sudo service nginx restart

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.