Инструкции модуля обратного прокси 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的功能