Terminology - Різниця між проксі-сервером та зворотним проксі-сервером
У чому різниця між проксі-сервером та зворотним проксі-сервером?
Попередні відповіді були точними, але, можливо, надто короткими. Я спробую додати кілька прикладів.
Насамперед слово "проксі" описує когось або щось, що діє від імені когось іншого.
В області комп'ютерів ми говоримо про один сервер, який діє від імені іншого комп'ютера.
З метою доступності я обмежу своє обговорення веб-проксі, проте ідея проксі не обмежується веб-сайтами.
FORWARD proxy
Більшість дискусій веб-проксі посилаються на тип проксі, відомий як "прямий проксі".
Проксі-подія в цьому випадку полягає в тому, що "прямий проксі" отримує дані з іншого веб-сайту від імені початкового запитувача.
Розповідь про 3 комп'ютери (частина I)
Як приклад, я наведу список трьох комп'ютерів, підключених до Інтернету.
- X = комп'ютер або комп'ютер "клієнт" в Інтернеті
- Y = веб-сайт проксі, proxy.example.org
- Z = веб-сайт, який ви бажаєте відвідати, www.example.net
Зазвичай можна підключити безпосередньо з X --> Z.
Однак у деяких сценаріях краще Y --> Z від імені X , яка ланцюгом виглядає так: X --> Y --> Z.
Причини, за якими X хотів би використовувати прямий проксі-сервер:
Ось частковий список використання прямого проксі-сервера.
1) X не може безпосередньо звертатися до Z тому, що
a) Хтось із повноваженнями адміністратора через інтернет-з'єднання X вирішив заблокувати весь доступ до сайту Z .
Вірус Storm Worm поширюється, обманюючи людей відвідуванням familypostcards2008.com, тому системнийадміністратор заблокував доступ до сайту, щоб користувачі не могли випадково заразити себе.
Співробітники великої компанії витрачали надто багато часу на facebook.com, тому управління хоче, щоб доступ блокувався у робочий час.
Місцева початкова школа забороняє доступ до Інтернету на веб-сайті playboy.com .
Уряд не може контролювати публікацію новин, тому натомість контролює доступ до новин, блокуючи сайти, такі як wikipedia.org. TOR або FreeNet.
b) Адміністратор Z заблокував X .
Z – це форумний сайт. X є спамом форуму. Z блоків X.
REVERSE proxy
Розповідь про 3 комп'ютери (частина II)
У цьому прикладі наведу список трьох комп'ютерів, підключених до Інтернету.
- X = комп'ютер або комп'ютер "клієнт" в Інтернеті
- Y = веб-сайт зворотного проксі, proxy.example.com
- Z = веб-сайт, який ви бажаєте відвідати, www.example.net
Зазвичай можна підключити безпосередньо з X --> Z.
Однак у деяких сценаріях адміністратору Z краще обмежувати чи забороняти прямий доступ і змушувати відвідувачів спочатку проходити через Y. Таким чином, як і раніше, ми отримуємо дані, які отримують Y --> Z від імені X , який у такий спосіб: X --> Y --> Z.
На цей раз відрізняється від "прямого проксі" те, що користувач X не знає, що він звертається до Z, тому що користувач X бачить, що він обмінюється даними з Y . Сервер Z невидимий клієнтам, і лише зовнішній проксі-сервер Y видно зовні. Проксі назад не вимагає конфігурації (проксі) на стороні клієнта.
Клієнт X вважає, що він тільки взаємодіє з Y ( X --> Y ), але реальність така, що Y перенаправляє весь зв'язок ( X --> Y --> Zзнову).
Причини, з яких Z хотів би налаштувати зворотний проксі-сервер:
- 1) Z хоче змусити весь трафік на свій сайт спочатку пройти через Y.
- a) Z має великий веб-сайт, який бажають бачити мільйони людей, але один веб-сервер не може обробляти весь трафік. Таким чином, Z встановлює безліч серверів і поміщає зворотний проксі в Інтернет, який буде відправляти користувачів на найближчий до них сервер, коли вони спробують відвідати Z. Це частина того, як працює концепція поширення контенту мережі (CDN).
- Приклади:
- Apple Trailers використовує Akamai
- Jquery.com розміщує свої файли JavaScript, використовуючи CloudFront CDN (sample).
- та ін.
У наведених вище сценаріях Z може вибирати Y .
Посилання на теми із повідомлення:
Мережа доставки контенту
- Списки CDN
- http://www.mytestbox.com/miscellaneous/content-delivery-networks-cdn-list/
- http://blog.streamingmedia.com/the_business_of_online_vi/2008/01/updated-list-of.html
програмне забезпечення для проксі-сервера (серверна сторона)
- cgi-proxy
- phproxy (припинено)
- glype
- Інтернет-цензура wiki: Список веб-проксі
- squid (мабуть, також може працювати як зворотний проксі)
зворотне проксі-програмне забезпечення для HTTP (серверна сторона)
- apache mod_proxy (також може працювати як прямий проксі для HTTP)
- nginx (використовується на hulu.com, спам-сайтах і т.д.)
- HAProxy
- lighthttpd
- perlbal (написано для livejournal)
- portfusion
- pound
- лакований кеш (написаний гуру ядра freebsd)
- repose
зворотне проксі-програмне забезпечення для TCP (серверна сторона)
- balance
- delegate
- pen
- portfusion
- чистий балансувальник навантаження (веб-сайт не функціонує)
- python director
Пара простого визначення буде
Forward Proxy: діє від імені запитувача (або споживача послуг)
Проксі зворотний: діючий від імені виробника послуг/контенту.
qyb2zm302 добре відповідає на запити проксі, але прослизає над фундаментальною концепцією між прямими та зворотними проксі. Для зворотного проксі X → Y → Z, X знає про Y, а чи не Z, а чи не навпаки.
Проксі-сервер є просто посередником для спілкування (запити + відповіді). Client ↔ Proxy ↔ Server
Клієнтський проксі:( Клієнт ↔ Проксі) ↔ Сервер
Проксі діє від імені клієнта. Клієнт знає про всі три машини, задіяні в ланцюжку. Сервер не працює.
Серверний проксі: Client ↔( Проксі-сервер)
Проксі-сервер діє від імені сервера. Клієнт лише знає про проксі. Сервер знає цілий ланцюжок.
Мені здається, що форвард і реверс – це просто заплутуючі, перспективні імена для клієнтського та серверного проксі. Я пропоную відмовитись від першого для останнього, для явного спілкування.
Звичайно, щоб ще більше ускладнити це питання, не кожна машина є виключноклієнтом чи сервером. Якщо в контексті є невизначеність, найкраще вказати, де знаходиться проксі-сервер, та повідомлення, які він тунелює.
Я знайшов цю діаграму дуже корисною. Він просто показує архітектуру проксі-сервера forward vs reverse з мого комп'ютера до Інтернету. Це зображення допоможе вам краще зрозуміти qyb2zm302 post та інші повідомлення.

Джерело: Quora. Усі кредити тому, хто створив цю діаграму.
Це нагадало мені класичне прислів'я:
Зображення коштує 1000 слів.
Деякі діаграми можуть допомогти:
Перший проксі

Зворотний проксі

Різниця полягає насамперед у розгортанні. Проксі-сервери у прямому та зворотному напрямку мають одні й ті самі базові функції, вони приймають запити на HTTP-запити в різних форматах і надають відповідь, як правило, шляхом доступу до джерела або сервера контактів.
Повнофункціональні сервери зазвичай мають керування доступом, кешування та деякі функції прив'язки посилань.
Первинним проксі-сервером є проксі-сервер, до якого здійснюється доступ шляхом налаштування клієнтської машини. Клієнту потрібна підтримка протоколу для проксі-функцій (перенаправлення, проксі-сервер тощо). Проксі прозорий для користувача, але не для програми.
Зворотний проксі - це проксі-сервер, який розгортається як веб-сервер і поводиться як веб-сервер, за винятком того, що замість локального складання контенту з програм та диска він надсилає запит на вихідний сервер. З погляду клієнта це веб-сервер, тому інтерфейс користувача повністю прозорий.
Фактично, один екземпляр проксі-сервера може одночасно працювати як прямий та зворотний проксі для різнихклієнтських груп.
Проксі-сервер проксі (і, можливо, кешує) вихідні мережні запити до різних громадських ресурсів, не пов'язаних із необхідністю через Інтернет. Зворотний проксі-сервер фіксує (і, можливо, кешує) вхідні запити з Інтернету та поширює їх на різні внутрішні приватні ресурси, зазвичай для високої доступності.
Проксі: робить запит від імені клієнта. Таким чином сервер поверне відповідь на проксі, і проксі-сервер відправить відповідь клієнту. Фактично, сервер ніколи не "дізнається", ким був клієнт (IP-клієнт), він знатиме лише проксі. Тим не менш, клієнт точно знає сервер, оскільки він по суті форматує HTTP-запит, призначений для сервера, але він просто передає його проксі.

Найкраще пояснення тут із діаграмами:
У той час як проксі-серверforward proxy для клієнтів( або запитуючих хостів), проксі-серверзворотний проксі на користь серверів
Насправді, у той час якпрямий проксі приховує ідентифікатори клієнтів,зворотний проксі приховує ідентифікатори серверів
Звичайнийпрямий проксі - проміжний сервер, який знаходиться між клієнтом та вихідним сервером. Щоб отримати контент із сервера походження, клієнт відправляє запит проксі, називаючи вихідний сервер як ціль, і проксі потім запитує вміст із сервера походження і повертає його клієнту.Клієнт повинен бути спеціально налаштований для використання прямого проксі для доступу до інших сайтів.
Aзворотний проксі (або шлюз), навпаки, відображається клієнту так само, як звичайний веб-сервер. Жодної спеціальної конфігурації на клієнті не потрібно. Клієнт робить звичайні запитина контент у просторі імен зворотного проксі. Потім зворотний проксі вирішує, куди надсилати ці запити, і повертає вміст, ніби він був сам собою.
Типове використання зворотного проксі-сервера полягає в наданні користувачам Інтернетудоступу до сервера, розташованого за брандмауером. Зворотні проксі-сервери також можуть використовуватися для балансування навантаження між кількома серверними серверами або забезпечують кешування для повільнішого серверного сервера. Крім того, зворотні проксі можна використовувати просто, щоб привести кілька серверів в один і той же простір URL.
для отримання додаткової інформації: Apache Docs
Це відмінне читання, щоб зрозуміти різницю між Forward і Reverse PROXY http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy
Прямий проксі приховує ідентифікатори клієнтів (користувачів), а зворотний проксі приховує ідентифікатори ваших серверів.
Відповідно до мого розуміння.
Спочатку, оскільки всі знають, що проксі означає "Влада представляти когось іншого". Тепер є дві речі: Forward and Reverse proxy.
ПЕРЕДНІЙ ПРОКСІ Припустимо, ви хочете отримати доступ до "google" і "google", у свою чергу, буде мати n кількість серверів для відповіді на цей конкретний запит.
Тепер ви надсилаєте запит через B, тому C думатиме, що запит надходить від B, а не A. Таким чином ви можете заборонити IP-клієнтам своїх клієнтів не піддаватися зовнішньому світу.
ЗВОРОТНА ПРОКСІ. Тепер, якщо ви зрозуміли, ми візьмемо той самий випадок з проксі-сервером. Тут ви запросили щось у google, яке, у свою чергу, надішле один запит на сервер додатків або інший проксі-сервер, щоботримати відповідь. Таким чином, це станеться, як описано нижче.