Рубрики
Uncategorized

Webflow + Ghost Blog с Caddy

Современные приложения SaaS обычно запускают целевую страницу, блог и основное приложение отдельно. Для посадки … Tagged с Docker, Caddy, Webflow, DevOps.

Современные приложения SaaS обычно запускают целевую страницу, блог и основное приложение отдельно. Для целевой страницы вы можете использовать Tilda, Webflow или других веб-строителей. Для блога обычно использует самостоятельные CMS, такие как WordPress, Ghost или другие.

Крайне важно индексировать основной домен your_domain.com вместо поддомена blog.your_domain.com Для целей SEO. Вы хотите как можно больше ссылок на ваш основной домен. Более контент на your_domain.com/blog , чем больше Google будет индексировать это.

Запуск блог -призрака в поддоде, такой как blog.your_domain.com Легко, просто создайте новый рекорд в своем поставщике DNS и укажите его на машину с помощью экземпляра-призрака. Если вы хотите запустить your_domain.com на веб -потоке и your_domain.com/blog Быть самостоятельным призраком, вам нужен Обратная прокси сервер Обратный прокси -сервер С точки зрения DevOps наши цели:

  1. your_domain.com -> Webflow
  2. your_domain.com/ * -> Webflow
  3. your_domain.com/blog -> Блог с самостоятельным призраком
  4. blog.your_domain.com -> your_domain.com/blog

Мы собираемся использовать Caddy для обратной прокси. Причиной является конфигурация, удобная для Docker, очень быстро для развертывания без глубоких знаний о DevOps (эй, Nginx). Найдите официальное изображение Caddy Здесь Анкет Кэдди нужно, чтобы вы установили объемы для правильной работы.

Мы будем принимать Призрака и Кэдди на той же машине и в одном Docker-compose.yml файл.

version: "3.7"

services:
 caddy:
   image: caddy:2
   restart: unless-stopped
   ports:
     - "80:80"
     - "443:443"
   volumes:
     - $PWD/Caddyfile:/etc/caddy/Caddyfile
     - $PWD/site:/srv
     - caddy_data:/data
     - caddy_config:/config
 ghost:
   image: ghost:3
   environment:
     NODE_ENV: production
     url: https://adapty.io/blog
   volumes:
     - ./blog:/var/lib/ghost/content
volumes:
 caddy_data:
 caddy_config:

Теперь для Caddyfile :

blog.adapty.io {
   redir https://adapty.io/blog{uri} #point to subdirectory
}

adapty.io {
   redir /blog /blog/ #trailing slash
   reverse_proxy /blog/* ghost:2368 { #proxy to Ghost container
       header_up Host {host}
   }
   reverse_proxy proxy.webflow.com { #proxy to Webflow
       header_up Host {host}
   }
}

Запустите *Docker -Compose -D. *И вот вы!

По умолчанию Кэдди проходит через входящие заголовки в бэкэнд, включая заголовок хоста, без модификаций, за двумя исключениями:

  • Он добавляет или увеличивает поле заголовка X-Forwardered для.
  • Он устанавливает поле заголовка X-Forwarded-Proto.

Читать больше в их документах https://caddyserver.com/docs/caddyfile/directives/reverse_proxy#headers

Наконец,

Укажите запись для основного домена на ваш IP. Измените DNS записи и укажите на виртуальную машину В Webflow выключить SSL -прокси, так как Caddy будет подавать его для вас автоматически (очень круто, да? Без сертификата). Выключите SSL в Webflow, так как Caddy создаст для вас сертификат Вот и все!

Оригинал: «https://dev.to/iwitaly/webflow-ghost-blog-with-caddy-5b0e»