https://en.wikipedia.org/wiki/Proxy_server#Types_of_proxy_servers говорит
Прокси-сервер может находиться на локальном компьютере пользователя или в любой точке между компьютером пользователя и конечными серверами в Интернете.
Прокси-сервер, который передает неизмененные запросы и ответы, обычно называется шлюз или иногда туннельный прокси.
Прямой прокси-сервер - это прокси-сервер с выходом в Интернет, используемый для извлечения данных из широкого спектра источников (в большинстве случаев из любого места в Интернете).
Обратный прокси-сервер обычно является внутренним прокси-сервером, который используется в качестве интерфейса для управления и защиты доступа к серверу в частной сети. Обратный прокси-сервер обычно также выполняет такие задачи, как балансировка нагрузки, аутентификация, дешифрование и кеширование.
Из HTTP Gourley: Полное руководство
Строго говоря, прокси-серверы соединяют два или более приложения, которые используют один и тот же протокол, а шлюзы подключите две или более сторон, которые используют разные протоколы. Шлюз действует как «преобразователь протоколов», позволяя клиенту завершить транзакцию с сервером, даже если клиент и сервер используют разные протоколы.
Рисунок 6-2 иллюстрирует разницу между прокси и шлюзами:
• Промежуточное устройство на рисунке 6-2a является прокси-сервером HTTP, потому что прокси-сервер передает HTTP-данные как клиенту, так и серверу.
• Промежуточное устройство на рисунке 6-2b является шлюзом HTTP / POP, потому что оно связывает интерфейс HTTP с сервером электронной почты POP. Шлюз преобразует веб-транзакции в соответствующие транзакции POP, чтобы пользователь мог читать электронную почту через HTTP. Веб-программы электронной почты, такие как Yahoo! Почта и горячая почта MSN являются шлюзами электронной почты HTTP.
На практике разница между прокси и шлюзами нечеткая. Поскольку браузеры и серверы реализуют разные версии HTTP, прокси-серверы часто выполняют некоторое преобразование протокола. А коммерческие прокси-серверы реализуют функцию шлюза для поддержки протоколов безопасности SSL, брандмауэров SOCKS, доступа по FTP и веб-приложений.
Противоречат ли друг другу определения шлюза в двух источниках? Первый говорит, что проход шлюза получил запросы и ответы без изменений, а второй говорит, что шлюз соединяет стороны, которые говорят по разным протоколам и конвертируются между двумя протоколами? Как вы понимаете концепцию шлюза, согласовывая разницу между двумя определениями?
Ngnix может использоваться как обратный прокси-сервер, если прокси-сервер является сервером CGI, согласно официальный онлайн-документ. Обратный прокси-сервер - это прокси-сервер от первого источника, а от второго источника он обращается к двум сторонам, с которыми он соединяется, используя один и тот же протокол. Здесь Ngnix общается со своим клиентом, используя HTTP, и должен ли Ngnix также использовать HTTP или какой-либо другой протокол с сервером CGI?
Спасибо.
Связь со сценариями CGI осуществляется с помощью Общий интерфейс шлюза. Это своего рода соглашение о вызовах, в котором заголовки HTTP и запрошенный URL-адрес передаются через переменные среды, а данные запроса передаются в стандартный ввод. Это локальная связь, поскольку веб-сервер должен запускать сценарий CGI как процесс на том же компьютере.
FastCGI - это небольшая вариация, в которой все передается в сценарий CGI с использованием потокового сокета и двоичного протокола. Сокет обычно является сокетом UNIX (таким образом, локальным), но также может быть обычным TCP / IP-соединением.