Настройка хостинга подкаталогов с помощью Caddy

Узнайте, как разместить свой справочный центр в подкаталоге, например, /help, используя обратный прокси-сервер Caddy.

1 мин чтения

Вы можете использовать Caddy для запуска вашего справочного центра Notiondesk из подкаталога вашего основного домена.

Например, вместо использования поддомена типа help.yourdomain.com, вы можете сделать свой справочный центр доступным по следующему адресу:

  • yourdomain.com/help
  • yourdomain.com/docs
  • yourdomain.com/support

Такая конфигурация полезна, если ваш основной веб-сайт размещен на сервере, где Caddy уже используется в качестве веб-сервера или обратного прокси-сервера.

Прежде чем начать

Перед настройкой хостинга подкаталогов с помощью Caddy убедитесь, что у вас есть:

  • Доступ к вашему серверу
  • Доступ к вашему файлу Caddyfile
  • Подпуть, который вы хотите использовать для своего справочного центра, например:
    • __СОХРАНЕНО_19__
    • __СОХРАНЕНО_18__
    • __СОХРАНЕНО_17__

Также перед добавлением конфигурации подпути Notiondesk следует убедиться, что ваш основной веб-сайт уже корректно работает.

Включите размещение подпутей в Notiondesk

Сначала включите хостинг подпутей в панели управления Notiondesk.

  1. Откройте свою панель управления Notiondesk
  1. Перейдите к Settings > General
  1. Прокрутите до раздела Domains
  1. Включите переключатель Subpath
  1. Сохраните изменения
  1. Скопируйте сгенерированную конфигурацию Caddy.

Параметр Notiondesk генерирует конфигурацию Caddy с правильными значениями для вашего справочного центра. На следующем шаге вам потребуется добавить эту конфигурацию в файл Caddyfile.

Добавьте конфигурацию Caddy.

После копирования конфигурации из Notiondesk, добавьте её в свой Caddyfile.

Откройте блок Caddy, отвечающий за домен вашего основного веб-сайта.

Например:

Добавьте сгенерированный маршрут Notiondesk внутрь этого блока сайта.

Конфигурация должна обрабатывать:

yourdomain.com {
    # Your main website configuration
}
  • Выбранный вами подпуть к справочному центру, например, /help
  • Вложенные страницы справочного центра, например, /help/*
  • Notiondesk внутренние маршруты, такие как /_nd/*

Все остальные пути должны по-прежнему обрабатываться вашим основным веб-сайтом.

Например, если ваш справочный центр использует /help, то только /help, /help/* и /_nd/* должны быть перенаправлены на Notiondesk.

Пример обратного прокси-сервера Caddy

Вот пример конфигурации Caddy для центра поддержки, обслуживаемого из /help.

Вам следует скопировать сгенерированную конфигурацию из вашей панели управления Notiondesk. Значения домена справочного центра, подпути и прокси-сервера являются специфическими для вашей конфигурации.

Перезаряжаемый контейнер

После добавления конфигурации в файл Caddyfile перезагрузите Caddy, чтобы применить изменения.

Точная команда зависит от настроек вашего сервера. Если Caddy управляется с помощью systemd, вы обычно можете перезагрузить его с помощью:

Перед перезагрузкой вы также можете проверить свой файл Caddyfile:

Если проверка пройдена успешно, перезагрузите Caddy и проверьте путь к вашему центру поддержки.

Проверьте свою конфигурацию.

После перезагрузки Caddy откройте в браузере подкаталог справочного центра.

Затем протестируйте несколько страниц, чтобы убедиться, что всё работает правильно:

route {
    @subpath path /help /help/*
    handle @subpath {
        reverse_proxy your-help-center.notiondesk.help:443 {
            header_up Host {http.request.host}
            header_up X-Forwarded-Host {http.request.host}
            header_up X-Forwarded-Proto https
            header_up X-Site-Path-Prefix /help
            transport http {
                tls
                tls_server_name your-help-center.notiondesk.help
            }
        }
    }

    handle /_nd/* {
        reverse_proxy your-help-center.notiondesk.help:443 {
            header_up Host {http.request.host}
            header_up X-Forwarded-Host {http.request.host}
            header_up X-Forwarded-Proto https
            transport http {
                tls
                tls_server_name your-help-center.notiondesk.help
            }
        }
    }

    # Let your main app handle every other path.
}

sudo systemctl reload caddy
caddy validate

  • Откройте главную страницу справочного центра.
  • Открыть страницу известной статьи
  • Откройте главную страницу вашего сайта.

Связанные статьи

Эта страница была полезной?