Обратный прокси для Lektor CMS
Сервер Lektor работает через порт 5000 на локальном хосте. Я хочу сделать его доступным через URL-адрес Apache по адресу http://myhost.org/lektor. Поэтому я попробовал фрагмент конфигурации httpd
ProxyPass /lektor http://127.0.0.1:5000
ProxyPassReverse /lektor http://127.0.0.1:5000
HTML-код страницы приветствия найден, но статические страницы, на которые есть ссылки (например, http://myhost.org/static/style.css), не найдены. Как я могу сделать измененный URL известным Lektor?
2 ответа
Сервер разработки не предназначен для использования в производстве. Производственные развертывания основаны на полностью статическом контенте и будут корректно разрешать статические активы, если вы используете |url
фильтр.
У меня был успех с немного другим синтаксисом:
ProxyPass / "http://localhost:5000/"
ProxyPassReverse / "http://localhost:5000/"
Кажется, нужен косой черты. Я не уверен, что вам нужно настоящее имя "localhost", но это то, что сработало для меня.
Я сделал следующие дополнительные пункты с моей настройкой, и это довольно гладко:
- Настройте Lektor на внутреннем приват-ip веб-сервере
- Настройте два виртуальных хоста, например, lektor-web-dev.my.domain и lektor-web.my.domain
- Настройте самозаверяющие сертификаты в домене -dev и используйте указанные выше элементы ProxyPass в своей конфигурации vhost (Apache).
- Настройте базовую аутентификацию в домене -dev, чтобы был хотя бы базовый уровень аутентификации
- Настройте rsync deploy для возврата к localhost с помощью пары ключей SSH и скопируйте выходные файлы в webroot lektor-web.my.domain
Теперь lektor-web.my.domain все еще находится на частном веб-сервере без сертификатов. Однако на моем общедоступном веб-сервере я завершаю SSL и перехожу через lektor-web.my.domain. Я получаю сертификат с letsencrypt.
Это распространяется на любое количество веб-сайтов. Поддерживайте работу администраторов Lektor с помощью супервизора или другой системы управления процессами. Используйте 'lektor server -p portnum', чтобы выбрать другой порт для администратора каждого сайта. Вы можете осуществлять групповой доступ к различным администраторам, используя базовую аутентификацию HTTP, а также файлы htpasswd и htgroup.