Blog personal de Anibal Copitan usuario Linux, creador de software y contenido sobre IA & Programación
¿Listo para aprender más? Contáctame por WhatsApp
domingo, 16 de marzo de 2025
Migración de Apache2 a Nginx con Proxy Inverso
El objetivo de este artículo es configurar mi servidor web en casa,
migrando de http
a https
y reemplazando
Apache2 por Nginx para mejorar el rendimiento y la facilidad de
configuración.

¿Por qué usar Nginx?
Nginx es un servidor web y proxy inverso ligero y rápido que ofrece múltiples ventajas:
- Manejo eficiente de tráfico HTTP, HTTPS, TCP y UDP.
- Optimización para servir contenido estático.
- Funcionalidad de balanceo de carga y proxy inverso.
- Mayor rendimiento y menor consumo de recursos en comparación con Apache.
En este caso, lo usaremos como proxy inverso.
Instalación de Nginx en Raspberry Pi (Linux)
Ejecuta los siguientes comandos para instalar y verificar Nginx:
sudo apt update && sudo apt install nginx -y
nginx -v # Verificar versión instalada
systemctl status nginx # Comprobar estado del servicio
Para asegurarte de que Nginx se inicie automáticamente tras un reinicio:
Para probar la configuración de Nginx:
Configuración de Nginx
El archivo principal de configuración en Debian/Ubuntu se encuentra en:
/etc/nginx/nginx.conf
Migración de Apache a Nginx
Configuración para localhost en el puerto 80
Si tienes un servicio web en Apache que usa PHP/JavaScript, configura
Nginx en /etc/nginx/sites-available/default
con la
siguiente configuración:
server {
listen 80;
server_name localhost;
root /var/www/html/apache2;
index index.php index.html index.htm;
location / {
autoindex on; # Habilita listado de directorios si no hay index.html
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Configuración de Proxy Inverso con HTTPS
Para acceder de forma segura mediante https
, crea o
edita el archivo de configuración
/etc/nginx/sites-available/local.anibalcopitan.com
:
server {
listen 443 ssl;
server_name local.anibalcopitan.com;
ssl_certificate /etc/letsencrypt/live/local.anibalcopitan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/local.anibalcopitan.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $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 https;
}
}
Resultado Final
Aquí está el resultado final después de migrar a Nginx:

Conclusión
Con esta configuración, Nginx actuará como un proxy inverso para
redirigir las solicitudes a un servidor local, garantizando un acceso
seguro mediante https
. Esta migración optimiza el
rendimiento y la administración de tu servidor web en casa.
Soy Aníbal 🐧💻. ¿Tienes una gran Idea/Proyecto?
¿Tienes un proyecto en mente o necesitas resolver un desafío técnico? Estoy aquí para ayudarte a encontrar la mejor solución. 🚀
Hablemos sobre tu proyecto
No hay comentarios:
Publicar un comentario