Hosting de Blazor Server en UpCloud Linux para aplicaciones pequeñas en producción
Aloja una app Blazor Server lista para producción en UpCloud Linux por el precio de un café. Esta guía cubre SEO real: URLs estables, HTTPS por defecto, datos estructurados y rendimiento predecible en un VPS de aprox. 3 €/mes.
Necesitas una cuenta UpCloud, un dominio o subdominio con DNS y acceso SSH. Aquí tienes la pila completa de Blazor Server: crear el plan aprox. 3 €, asegurar Ubuntu, publicar tu app y usar Nginx con Certbot para HTTPS optimizado para SEO.
Promoción UpCloud: tú y nosotros recibimos 25 € en créditos. Tu tarifa mensual no cambia.

Índice
Qué necesitas antes de empezar
Un dominio es imprescindible para SEO y HTTPS. Los buscadores prefieren hostnames estables y Let's Encrypt requiere DNS. Ten esto listo antes de crear tu servidor UpCloud:
- Dominio o subdominio que apunte ya a tu servidor (ej. app.ejemplo.com) con registros A/AAAA.
- Cuenta UpCloud con el plan General Purpose de aprox. 3 €/mes disponible en tu región. Consulta la página de precios de UpCloud
- Clave SSH lista para acceso sin contraseña; desactiva el login por contraseña tras el primer arranque por seguridad.
- SDK local de .NET 8 para publicar tu app Blazor Server antes de subirla a la VM.
Por qué UpCloud es ideal para lanzar Blazor por aprox. 3 €/mes
El plan básico de UpCloud es lo suficientemente rápido para usuarios reales y buscadores, manteniendo la facturación predecible. Cada punto afecta directamente a SEO y disponibilidad:
- Precio fijo de aprox. 3 €/mes con ancho de banda generoso mantiene asequibles sitios de prueba y producción pequeños.
- Almacenamiento NVMe y centros globales reducen el Time to First Byte, una de las señales SEO más importantes.
- IPv4/IPv6 nativos y IPs flotantes facilitan cambios blue/green para desplegar sin interrupciones.
- Firewall integrado y snapshots permiten recuperarte rápido, protegiendo tu presupuesto de rastreo ante caídas.
Crea tu plan de aprox. 3 €/mes en UpCloud
Configura la VM una vez y mantén la superficie mínima. Cada paso evita sorpresas en certificados y despliegues futuros:
- Regístrate en UpCloud, verifica facturación y elige la instancia General Purpose más pequeña en el centro de datos más cercano.
- Elige Ubuntu 22.04 o 24.04, añade tu clave SSH y una IP flotante para cambios sin tiempo de inactividad.
- Permite solo SSH (22), HTTP (80) y HTTPS (443) en el firewall UpCloud; todo lo demás queda cerrado por defecto.
- Haz un snapshot inicial antes de desplegar para poder revertir si algo falla.

Marca el panel de control UpCloud para reconstruir rápido si falla un despliegue; relanzar mantiene el precio de aprox. 3 €/mes.
¿Prefieres CLI? Usa la API o CLI de UpCloud para automatizar reconstrucciones y snapshots, manteniendo tu stack Blazor reproducible.
- Costes predecibles con una huella fija en máquinas virtuales de gama baja.
- Recuperación rápida mediante snapshots en lugar de depuración manual.
- Infraestructura reproducible para Blazor mediante reconstrucciones automatizadas.
Prepara Ubuntu y asegura la superficie
Actualiza el sistema base, configura UTC para logs consistentes e instala solo lo necesario. Parches de seguridad reducen superficie de ataque y aceleran TLS para rastreadores.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget unzip apt-transport-https ca-certificates gnupg
sudo timedatectl set-timezone UTCAñade un firewall simple para que solo el proxy inverso y SSH sean accesibles. Bloquear lo demás evita bots ruidosos y mantiene tiempos de respuesta estables para SEO.
sudo apt install -y ufw fail2ban
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo systemctl enable --now fail2banInstala runtime y SDK de .NET 8
Usar el repositorio oficial de Microsoft mantiene actualizaciones automáticas. Instala el SDK solo si publicarás directamente en el servidor.
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y aspnetcore-runtime-8.0 dotnet-sdk-8.0Publica y sube tu app Blazor
Compila localmente en Release para que el servidor ejecute binarios optimizados. Usa rsync para preservar permisos y acelerar la transferencia; claves SSH mantienen la privacidad.
# Build locally
dotnet publish -c Release -o publish
# Copy to UpCloud (replace user@host)
rsync -avz publish/ user@YOUR_UPCLOUD_IP:/var/www/blazor-app/
# On the server, set ownership
sudo useradd -m -s /bin/bash blazorapp || true
sudo chown -R blazorapp:blazorapp /var/www/blazor-appEjecuta Kestrel con systemd
Mantén Kestrel ligado a localhost para que solo Nginx acceda. systemd reinicia el servicio automáticamente y centraliza logs para resolver problemas SEO rápido.
Expón la app con Nginx y HTTPS
Nginx termina TLS, sirve HTTP/2 y envía solo tráfico limpio a Kestrel. Certbot automatiza el certificado TLS para que cada página sea indexable y segura.
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d app.example.com --redirect --agree-tos -m [email protected]
sudo certbot renew --dry-runChecklist SEO para un lanzamiento rápido de Blazor
- Forzar HTTPS y HTTP/2, mantener headers de caché estrictos para estáticos y activar Brotli para minimizar cargas.
- Usa slugs legibles y segmentos culturales donde haga falta; URLs consistentes evitan duplicados para rastreadores.
- Emite JSON-LD (Artículo + FAQ) en cada guía para que aparezcan resultados enriquecidos en Google y Bing.
- Añade Open Graph y tarjetas de Twitter en tu componente de metadatos para que las vistas previas en redes sociales sean correctas.
- Monitorea Core Web Vitals; carga diferida de imágenes principales y reduce JS para bajar latencia de interacción.
Monitorea, escala y controla costes
- Vigila logs de journalctl y Nginx; un despliegue fallido no debe consumir presupuesto de rastreo ni mostrar esquemas obsoletos.
- Mantén listas blancas en UFW y fail2ban activos para bloquear ataques de fuerza bruta que ralentizan visitantes reales.
- Programa snapshots mensuales y copias externas para revertir rápido sin subir de plan.
- Cuando crezca el tráfico, clona el snapshot a un plan mayor o añade un segundo nodo tras un balanceador.
¿Listo para escalar? Lanza otro nodo de aprox. 3 €/mes en UpCloud con la misma imagen y dirige tráfico con Nginx o balanceador. Abre UpCloud y duplica el servidor.