2017-02-10 10 views
-1

У меня возникли трудности с пониманием разницы между обратным прокси-сервером (т. Е. С использованием директивы proxy_pass с данным восходящим сервером) и постоянной переадресацией 301. Как они похожи/разные?Разница HTTP-перенаправление против обратного прокси-сервера в NGINX

Обратный прокси

upstream backend { 
    server backend1.example.com  weight=5; 
    server backend2.example.com:8080; 
} 

server { 
    location/{ 
     proxy_pass http://backend; 
    } 
} 

HHTP Перенаправление

Apache Пример: http://www.inmotionhosting.com/support/website/htaccess/redirect-without-changing-url

NGINX пример:

server { 
    listen 80; 
    server_name domain1.com; 
    return 301 $scheme://domain2.com$request_uri; 
} 

Следовательно, кажется, что оба подхода не имеют никакого различия с точки зрения конечного пользователя. Я хочу обеспечить эффективное использование полосы пропускания, используя SSL. В настоящее время сервер приложений использует собственный самоподписанный сертификат SSL с Nginx. Каков рекомендуемый подход для перенаправления пользователей с веб-сайта, размещенного стандартной веб-хостинговой компанией (hostgator, godaddy и т. Д.) На отдельный серверный сервер приложений?

ответ

2

С перенаправлением сервер говорит клиенту искать в другом месте ресурса. Клиент будет знать об этом новом месте. Новое местоположение должно быть доступно от клиента.
Обратный прокси вместо этого отправляет запрос клиента в другое место и отправляет ответ от этого места обратно клиенту. Это означает, что клиент не знает о новом местоположении и что новое местоположение не обязательно должно быть доступно клиенту.

+0

Предположим, у меня есть сервер с доменом A, который фактически содержит приложение. Тем не менее, пользователи/клиент будут подключаться к другому серверу с доменом B для доступа к приложению. Пользователи будут аутентифицироваться в приложении из домена B. Какой рекомендуемый подход - перенаправление или обратный прокси? Они оба очень похожи в плане предполагаемого результата. –

+0

Обратный прокси обычно используется для получения (возможно, ограниченного) доступа к некоторому непубличному серверу, а не для обеспечения доступа прокси к серверу, который также может быть публично доступен. Что касается аутентификации: если вы используете перенаправление, вам нужно сообщить A, что пользователь аутентифицируется B с использованием OAUTH или аналогичного. При использовании обратного прокси-сервера A обычно недоступно непосредственно извне, а B проверяет как аутентификацию, так и доступ. –

+0

Спасибо, что понятно. Нужно ли мне изменять записи DNS для включения домена A (например, godaddy или hostgator)? –

 Смежные вопросы

  • Нет связанных вопросов^_^