Можно кто-нибудь помочь мне настроить lighttpd как прокси для Gotify?

Вопрос или проблема

Я пытаюсь написать конфигурацию lighttpd для проксирования запросов на мой Gotify сервер.

Gotify предлагает несколько конфигураций для различных веб-серверов, но ничего для lighttpd.

Кто-нибудь достаточно знаком с mod_proxy в lighttpd, чтобы помочь мне с конфигурацией?

Пока что я попробовал:

server.modules += ( "mod_proxy" )

$HTTP["url"] =~ "^/gotify" {
    accesslog.filename = "/var/log/gotify.log"
    server.errorlog = "/var/log/gotify.error.log"
    proxy.server  = (
        "" => ( (
            "host" => "192.168.1.1",
            "port" => 70
        ) )
    )
    proxy.header = ( "upgrade" => "enable" )
    proxy.forwarded = ( "for"          => 1,
                        "proto"        => 1,
                        "host"         => 1,
                        "by"           => 1,
                        #"remote_user" => 1
    )
}

…но когда я пытаюсь получить доступ к: http://{lighthttpd IP}/gotify, я получаю следующую ошибку:

{"error":"Not Found","errorCode":404,"errorDescription":"страница не найдена"}

Ответ или решение

Настройка Lighttpd в качестве прокси для Gotify

Lighttpd является эффективным веб-сервером, который можно использовать в качестве обратного прокси для Gotify, приложения, предназначенного для отправки уведомлений. Ваша текущая конфигурация имеет хороший старт, но, похоже, требует нескольких доработок, чтобы запросы правильно обрабатывались и перенаправлялись.

Основные шаги по настройке

  1. Включение необходимых модулей: Убедитесь, что вы активировали модули mod_proxy и mod_access. Если они еще не включены, добавьте их в конфигурацию сервера.

  2. Правильная настройка прокси: Ваш текущий конфиг указывает на запросы, содержащие множество заголовков, но, возможно, нужно улучшить обработку URL и перенаправление.

  3. Проверка конфигурации Gotify: Убедитесь, что ваш сервер Gotify правильно настроен и доступен по указанному IP-адресу и порту.

Вот пример конфигурации, который может помочь вам правильно настроить Lighttpd как прокси для Gotify:

server.modules += ( "mod_proxy", "mod_access" )

# Определяем доступ
$HTTP["remoteip"] =~ "127.0.0.1|::1|192.168.1.0/24" {
    # Логи для gotify
    accesslog.filename = "/var/log/gotify.log"
    server.errorlog = "/var/log/gotify.error.log"

    # Настройка прокси
    proxy.server  = (
        "/gotify" => (
            (
                "host" => "192.168.1.1",
                "port" => 70,
                "check-local" => "disable" # Отключаем проверку локального адреса
            )
        )
    )

    # Для обработки заголовков
    proxy.header = ( "upgrade" => "enable" )
    proxy.forwarded = ( "for" => 1,
                        "proto" => 1,
                        "host" => 1,
                        "by" => 1
    )
}

# Обработка запроса на корень /gotify
url.rewrite-once = (
    "^/gotify(.*)" => "/gotify$1"
)

Пояснение к конфигурации

  1. Модули: Мы добавили mod_access, чтобы управлять доступом к вашей прокси.

  2. Доступ: Мы конкретизируем доступ к прокси только для локальной сети и определённых IP-адресов. Это хорошая практика для обеспечения безопасности.

  3. Прокси: Конфигурация прокси настраивается так, чтобы перенаправлять любые запросы, начинающиеся с /gotify, на указанный хост и порт Gotify.

  4. Обработка URL: Используя url.rewrite-once, мы гарантируем, что URI будет правильно отформатирован перед тем, как запрос уйдёт на Gotify.

Проверка конфигурации

После внесения изменений перезапустите Lighttpd, чтобы применить новую конфигурацию:

sudo systemctl restart lighttpd

Затем проверьте, доступен ли Gotify по URL http://{IP вашего Lighttpd}/gotify. Если возникнут ошибки, проверяйте логи по указанным в конфигурации путям (/var/log/gotify.log и /var/log/gotify.error.log).

Заключение

Следуя указанным шагам и примерам конфигурации, вы сможете успешно настроить Lighttpd как прокси для Gotify. Внимательно проверьте все параметры и логируйте режим работы приложения для выявления и устранения возможных ошибок в будущем.

Оцените материал
Добавить комментарий

Капча загружается...