Обратный прокси-сервер Nginx статей из серии микросервисов

Инструкции модуля обратного прокси Nginx разбираются ngx_http_proxy_moduleмодулем.Этот модуль был установлен в Nginx при установке Nginx.Далее мы последовательно представим общие инструкции в обратном прокси:

proxy_pass
proxy_set_header
proxy_redirect

1, прокси_пароль

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

грамматика URL-адрес proxy_pass;
По умолчанию
Расположение расположение

URL: это адрес прокси-сервера, который необходимо установить, включая протокол передачи ( http, https://), имя хоста или IP-адрес, а также номер порта, URI и другие элементы.

2, proxy_set_header

Эта инструкция может изменить информацию заголовка запроса клиента, полученного сервером Nginx, а затем отправить новый заголовок запроса на прокси-сервер.

грамматика значение поля proxy_set_header;
По умолчанию proxy_set_header Хост $proxy_host;
proxy_set_header Соединение закрыто;
Расположение http, сервер, местоположение

Следует отметить, что если вы хотите увидеть результат, вы должны получить информацию о добавленном заголовке на проксируемом сервере.

Прокси-сервер: [192.168.200.146]

server {
        listen  8080;
        server_name localhost;
        default_type text/plain;
        return 200 $http_username;
}

Прокси-сервер: [192.168.200.133]

server {
    listen  8080;
    server_name localhost;

    location /server {
        proxy_pass http://192.168.200.146:8080/;
        proxy_set_header username TOM;
    }
}

проверка доступа

3, прокси_перенаправление

Эта команда используется для сброса значений «Местоположение» и «Обновить» в информации заголовка.

грамматика замена редиректа proxy_redirect;
proxy_redirect по умолчанию;
прокси_перенаправление выключено;
По умолчанию proxy_redirect по умолчанию;
Расположение http, сервер, местоположение

》Зачем использовать эту команду?

Сервер [192.168.200.146]

server {
    listen  8081;
    server_name localhost;
    if (!-f $request_filename){
      return 302 http://192.168.200.146;
    }
}

Прокси-сервер [192.168.200.133]

server {
  listen  8081;
  server_name localhost;
  location / {
    proxy_pass http://192.168.200.146:8081/;
    proxy_redirect http://192.168.200.146 http://192.168.200.133;
  }
}

"Несколько групп опций для этой команды

замена редиректа proxy_redirect;

redirect:目标,Location的值
replacement:要替换的值

proxy_redirect по умолчанию;

default;
将location块的uri变量作为replacement,
将proxy_pass变量作为redirect进行替换

прокси_перенаправление выключено;

关闭proxy_redirect的功能

Supongo que te gusta

Origin blog.csdn.net/Coder_Boy_/article/details/131752650
Recomendado
Clasificación