Migrar de nginx a caddy

힘센캥거루
2025년 10월 20일(수정됨)
3
76

No pasó un día desde que configuré el proxy inverso con nginx y vi la imagen de abajo.

Migrar de nginx a caddy-1

¿No es posible... que la era de nginx haya terminado?

No lo podía creer.

Decidí migrar de nuevo de nginx a caddy.

1. ¿Qué es caddy?

Caddy es un servidor web moderno y proxy inverso, escrito en Go.

Es popular por su configuración sencilla, HTTPS automático y alto rendimiento.

Según lo dicho por el hermano chatgpt, es como se muestra en la tabla abajo.

Ítem

Caddy

Nginx

🛠️ Dificultad de configuración

Muy fácil (Caddyfile)

Intermedio a difícil (nginx.conf)

🔐 Soporte HTTPS

Emisión y renovación automática (Let's Encrypt)

Necesita configuración manual (certbot, etc.)

🚀 Instalación y ejecución

Archivo ejecutable único, listo para usar

Se necesita instalación de paquetes, configuración y ejecución

📦 Funciones básicas

Proxy inverso, archivos estáticos, autenticación, redirecciones, etc. integradas

Tiene varias funciones pero algunas necesitan instalación de módulos

🔧 Flexibilidad de configuración

Estructura básica intuitiva, algunas limitaciones en enrutamiento complejo

Configuración altamente flexible (aunque compleja)

📈 Rendimiento

Alto rendimiento (incluye soporte HTTP/3)

Alto rendimiento (comprobado en tráfico masivo)

📋 Documentación y comunidad

Pequeña pero en rápido crecimiento

Comunidad muy grande y madura

⚙️ Propósitos de uso

Despliegue rápido, HTTPS sencillo, centrado en desarrolladores

Configuraciones avanzadas, operación de infraestructuras complejas

De todas formas, solo uso el proxy inverso para asignaciones de puertos.

En este aspecto, caddy parecía más simple.

2. Migrar de nginx a caddy

Se dice que los soldados romanos quemaban sus barcos antes de ir a la guerra.

Con ese pensamiento, primero eliminé nginx y comencé.

No importa mucho ya que mi página no tenía ni 100 visitas al día.

brew uninstall nginx
Migrar de nginx a caddy-2

Luego eliminé la carpeta innecesaria dentro de /opt/homebrew/etc.

Puedes hacerlo con el siguiente comando.

sudo rm -rf /opt/homebrew/etc/nginx
Migrar de nginx a caddy-3

Inmediatamente instalé caddy y configuré el Caddyfile, pero no funcionaba.

Resulta que no detuve el servicio nginx, por lo que seguía ocupando el puerto incluso después de la desinstalación.

Quienes lean esto, no cometan el mismo error. Asegúrate de verificar los puertos antes de instalar caddy.

Usa el siguiente comando para verificar los puertos.

lsof significa List Open files y -i significa internet.

lsof -i :80
Migrar de nginx a caddy-4

Por esto perdí 2 o 3 horas... ¡Qué persona tan insensata soy!

Aunque detuviera el puerto, no funcionaba, así que recurrí al remedio universal de reiniciar.

Luego creé un archivo llamado Caddyfile en la carpeta /opt/homebrew/etc.

Por cierto, la extensión no es necesaria.

sudo touch /opt/homebrew/etc/Caddyfile
open /opt/homebrew/etc/Caddyfile

Así se abrirá el Caddyfile en el editor de texto.

Introduce el siguiente contenido.

example.com, www.example.com {
    reverse_proxy localhost:3000
}

En example.com puedes introducir el dominio que desees.

Si tienes dos dominios, sepáralos con comas.

Como cualquiera que haya usado nginx sabe, la configuración es extremadamente simple.

Luego inicia el servidor caddy.

brew services start caddy

Y de manera sorprendente, ya tiene el certificado emitido.

Como también se puede auto renovar, ya tengo una preocupación menos.

3. Opiniones

Cuando empecé con next.js, la mayoría de los artículos sobre HTTPS estaban configurados con server.js.

¿Por qué no me hablaron de caddy...?

Creo que es mucho mejor instalar nginx o caddy que otras formas.

Voy a escribir un artículo simple sobre esto.

관련 글

공문서 완전 자동화 해보기 - ChatGPT, Claude, kordoc + python-hwpx
공문서 완전 자동화 해보기 - ChatGPT, Claude, kordoc + python-hwpx
대한민국 공공기관은 여전히 .hwp 확장자를 가진 파일을 많이 사용한다.이 파일은 한글과컴퓨터에서 만든 독자 규격 문서다.문제는 이 형식이 다른 프로그램과 완전히 호환되지 않는다는 데 있다.문서를 열어보는 것은 가능하다.하지만 그 내용을 구조적으로 읽고, 데이터처럼 활...
Relato del desarrollo de un blog full‑stack con Next.js
Relato del desarrollo de un blog full‑stack con Next.js
Alrededor de un año después de empezar con el desarrollo web, empecé a pensar que quería tener mi propio blog.Así que estuve dedicado a esto durante u...
Despliegue sin interrupciones de Nextjs (servidor local) usando Caddy
Despliegue sin interrupciones de Nextjs (servidor local) usando Caddy
Cada vez que me entraban ganas de seguir añadiendo cosas a la página web, hacía un build, y en ese intervalo parece que había gente que se conectaba d...
Automatización de la indexación de búsqueda de Google - Web Search Indexing API
Automatización de la indexación de búsqueda de Google - Web Search Indexing API
Después de IndexNow, decidí probar también la automatización con Google.Buscando un poco, vi que Google ofrecía algo llamado Web Search Indexing a tra...
Automatizar la creación de índices de búsqueda - IndexNow
Automatizar la creación de índices de búsqueda - IndexNow
Mientras estaba registrando el sitio en Bing, me enteré de que Bing ofrece una función llamada IndexNow.Lo esencial es que, usando una clave de API, p...
Experiencia de que hackearan mi servidor Nextjs y React
Experiencia de que hackearan mi servidor Nextjs y React
La primera vez que me encontré con este problema de seguridad fue la madrugada del 5 de diciembre.Que en React era posible ejecutar código de forma re...

댓글을 불러오는 중...