Назад | Перейти на главную страницу

Что такое «прозрачный обратный прокси»?

Я уже несколько лет использую некоторые службы в виде контейнеров-докеров на капле DigitalOcean, и недавно я подумал, что пришло время обновить один из них до последней версии (рассматриваемая служба - это платформа для ведения блогов-призраков). Раньше моя рабочая установка использовала Кэдди в качестве обратного прокси, поэтому я мог получить доступ к своему блогу, перейдя в blog.mydomain.example. Настройка Caddyfile выглядела так:

blog.mydomain.example {
    proxy / 192.0.2.5:1268
}

Где IP: порт - это порт локального контейнера докеров-призраков.

Однако после обновления моего экземпляра-призрака до последней версии и сохранения той же конфигурации я получил странную ошибку. Переход к blog.mydomain.example будет загружаться в течение длительного времени, а затем внезапно перенаправить на https://192.0.2.5:2368, что, конечно, не сработает, поскольку это локальный IP-адрес в моей капле. После долгого рыскания в Интернете я в конце концов нашел исправление, которое потребовало изменить мой Caddyfile следующим образом:

blog.mydomain.example {
    proxy / 192.0.2.5:1268 {
        transparent
    }
}

В страница caddy docs для прокси немного о том, что делает прозрачный:

прозрачный: Передает информацию хоста из исходного запроса, как и ожидают большинство серверных приложений.
Сокращение для:
header_upstream Хост {host}
header_upstream X-Real-IP {удаленный}
header_upstream X-Forwarded-For {удаленный}
header_upstream X-Forwarded-Proto {схема}

Я также читаю Эта статья о типах прокси, но я до сих пор не понимаю, что значит сделать обратный прокси прозрачным и зачем он понадобился в данном случае. Может ли кто-нибудь пролить свет?

Здесь это означает, что Caddy не изменяет запрос, удаляя заголовок HTTP Host при передаче запроса на ваш веб-сервер в контейнере Docker.

Это могут быть причины, по которым это требуется сейчас:

  1. Программное обеспечение вашего блога было обновлено и теперь оно хочет Host заголовок, соответствующий имени хоста, установленному в программном обеспечении.
  2. Прокси-поведение Кэдди было изменено так, что теперь оно удалено. Host заголовок по умолчанию.