Files
FRASA-CAS/deploy/nginx-host.conf
Consult AS Technology e8d1c57ad5 docs: publicar el documento de alcance como pagina web privada en /doc/alcance-2f9k7d/
- scripts/generar-web-documento.py arma la pagina (barra con logotipo, boton de
  descarga del PDF, hoja centrada, tablas con scroll en pantallas chicas, modo
  oscuro automatico y estilos de impresion) y reutiliza el generador de PDF.
- La pagina se sirve con un prefijo privado en NGINX: no se enlaza desde ninguna
  app, lleva X-Robots-Tag y meta noindex, y la cache se desactiva para que los
  cambios se vean al momento.
- Se sincroniza deploy/nginx-host.conf con lo que estaba instalado en el host
  (faltaba el cache de assets immutable) y se agrega la ruta privada.
- El logotipo se reduce a tamano de pantalla: venia de un JPEG de 959 px y era el
  90% del peso del PDF (495 KB -> 240 KB), sin cambiar el diseno.
2026-09-21 19:16:48 +00:00

76 lines
2.4 KiB
Plaintext

# FRASA Ecosystem — nginx del host (modo HTTP, LAN)
# Instalado en /etc/nginx/sites-available/frasa
# index.html siempre se revalida (los assets de Vite llevan hash en el nombre,
# así que solo el HTML necesita no-cache para que los deploys se vean al momento)
map $uri $frasa_cache_control {
~*\.html$ "no-cache, no-store, must-revalidate";
default "public, max-age=31536000, immutable";
}
server {
listen 80 default_server;
server_name _;
client_max_body_size 10m;
add_header Cache-Control $frasa_cache_control always;
# API Gateway (servicio systemd frasa-api en 127.0.0.1:3000)
location /api/ {
proxy_pass http://127.0.0.1:3000;
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 $scheme;
}
# Apps estáticas (builds de producción)
location /quote/ {
alias /root/frasa-ecosystem/apps/cotizador/dist/;
try_files $uri $uri/ /quote/index.html;
}
location /client/ {
alias /root/frasa-ecosystem/apps/alta-clientes/dist/;
try_files $uri $uri/ /client/index.html;
}
location /pay/ {
alias /root/frasa-ecosystem/apps/cobranza/dist/;
try_files $uri $uri/ /pay/index.html;
}
location /ai/ {
alias /root/frasa-ecosystem/apps/agente-ia/dist/;
try_files $uri $uri/ /ai/index.html;
}
location /dash/ {
alias /root/frasa-ecosystem/apps/dashboards/dist/;
try_files $uri $uri/ /dash/index.html;
}
location /hoy/ {
alias /root/frasa-ecosystem/apps/mi-dia/dist/;
try_files $uri $uri/ /hoy/index.html;
}
# Documento entregable publicado como página web privada.
# NO se enlaza desde ninguna app: sólo se llega con el enlace exacto, y lleva
# noindex para que no lo indexe ningún buscador. Se regenera con
# scripts/generar-web-documento.py
location /doc/alcance-2f9k7d/ {
alias /root/frasa-ecosystem/docs/web/alcance-2f9k7d/;
index index.html;
add_header Cache-Control "no-cache, no-store, must-revalidate" always;
add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
}
# Landing (raíz)
location / {
root /root/frasa-ecosystem/apps/landing/dist;
try_files $uri $uri/ /index.html;
}
}