infraestructura:servidores:vps:nginx
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| infraestructura:servidores:vps:nginx [2025/06/16 21:15] – creado admin | infraestructura:servidores:vps:nginx [2025/07/04 12:07] (actual) – [Certificados HTTPS] admin | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | **Ruta:** [[..: | ||
| + | |||
| ====== NGINX – Proxy inverso y sitios ====== | ====== NGINX – Proxy inverso y sitios ====== | ||
| NGINX está instalado en el VPS y actúa como proxy inverso. Su función es recibir peticiones HTTP o HTTPS para distintos dominios y redirigirlas internamente a otros servidores o contenedores (como Raspberry Pi, Docker, etc.), a través de la red WireGuard o local. | NGINX está instalado en el VPS y actúa como proxy inverso. Su función es recibir peticiones HTTP o HTTPS para distintos dominios y redirigirlas internamente a otros servidores o contenedores (como Raspberry Pi, Docker, etc.), a través de la red WireGuard o local. | ||
| - | Estructura de configuración | + | ===== Estructura de configuración |
| Los archivos de configuración de los sitios se encuentran en: | Los archivos de configuración de los sitios se encuentran en: | ||
| - | swift | + | > / |
| - | Copiar | + | |
| - | Editar | + | |
| - | / | + | |
| Y se activan mediante enlaces simbólicos en: | Y se activan mediante enlaces simbólicos en: | ||
| - | swift | + | > / |
| - | Copiar | + | |
| - | Editar | + | |
| - | / | + | |
| - | Ejemplo para crear un nuevo sitio: | + | |
| - | bash | + | ===== Ejemplo |
| - | Copiar | + | |
| - | Editar | + | |
| - | sudo nano / | + | |
| - | Contenido básico | + | |
| - | nginx | + | sudo nano /etc/nginx/ |
| - | Copiar | + | |
| - | Editar | + | |
| - | server { | + | |
| - | listen 80; | + | |
| - | server_name | + | |
| - | location / { | + | Copiar contenido básico para un proxy hacia una Raspberry: |
| - | proxy_pass http:// | + | |
| - | proxy_set_header Host $host; | + | |
| - | proxy_set_header X-Real-IP $remote_addr; | + | |
| - | } | + | |
| - | } | + | |
| - | Activar el sitio: | + | |
| - | bash | + | server { |
| - | Copiar | + | |
| - | Editar | + | server_name ejemplo.com www.ejemplo.com; |
| - | sudo ln -s / | + | |
| - | sudo nginx -t | + | location / { |
| - | sudo systemctl reload nginx | + | proxy_pass http:// |
| - | Certificados HTTPS | + | proxy_set_header Host $host; |
| + | proxy_set_header X-Real-IP $remote_addr; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | ===== Activar el sitio ===== | ||
| + | |||
| + | sudo ln -s / | ||
| + | sudo nginx -t | ||
| + | sudo systemctl reload nginx | ||
| + | |||
| + | ===== Certificados HTTPS ===== | ||
| Una vez creado y funcionando el sitio, se puede añadir el certificado gratuito con Let's Encrypt (Certbot): | Una vez creado y funcionando el sitio, se puede añadir el certificado gratuito con Let's Encrypt (Certbot): | ||
| - | bash | + | |
| - | Copiar | + | sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com |
| - | Editar | + | |
| - | sudo apt install certbot python3-certbot-nginx | + | |
| - | sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com | + | |
| Esto modifica el bloque server para que escuche por 443 y añade automáticamente el redireccionamiento de HTTP a HTTPS. | Esto modifica el bloque server para que escuche por 443 y añade automáticamente el redireccionamiento de HTTP a HTTPS. | ||
| - | Comandos útiles | + | |
| + | ==== Renovación automática ==== | ||
| + | Certbot instala un cron o timer que renueva automáticamente los certificados. Para forzar una renovación: | ||
| + | |||
| + | sudo certbot renew --dry-run | ||
| + | |||
| + | ==== Comprobación de certificados activos ==== | ||
| + | Ver todos los certificados gestionados: | ||
| + | |||
| + | sudo certbot certificates | ||
| + | ===== Comandos útiles | ||
| Probar si la configuración es correcta: | Probar si la configuración es correcta: | ||
| - | bash | + | |
| - | Copiar | + | |
| - | Editar | + | |
| - | sudo nginx -t | + | |
| Recargar NGINX tras cambios: | Recargar NGINX tras cambios: | ||
| - | bash | + | |
| - | Copiar | + | |
| - | Editar | + | |
| - | sudo systemctl reload nginx | + | |
infraestructura/servidores/vps/nginx.1750101348.txt.gz · Última modificación: por admin
