location
соответствующая часть
proxy_pass
Целевой адрес не включен по умолчанию. /
,Указывает только имя прокси-домена,url
и часть параметра не изменится (замените запрошенную path
Соединен с proxy_pass
URL-адрес после имени целевого домена в качестве прокси)
proxy_pass
Целевой адрес добавляется после /
,значит поставить path
середина location
Отрежьте успешно совпавшие части и прочитайте их снова. с proxy_pass
адрес назначения
Второе соответствующее название 4. Примеры обычных агентов
Третий соответствующий заголовок 3. Пример перехвата пути прокси для определения местоположения
location [ = | ~ | ~* | ^~ ] uri {
...}
Содержимое в квадратных скобках перед URI не является обязательным и объясняется следующим образом:
"="
:для стандартаuriвперед,Требовать, чтобы строка запроса строго соответствовала URI.,Остановитесь, как только матч будет успешным.
"~"
:Используется для регулярногоuriвперед,и чувствителен к регистру
"~*"
:Используется для регулярногоuriвперед,но не чувствителен к регистру
"^~"
:для стандартаuriвперед,После требования от Nginx найти местоположение с наибольшей степенью соответствия между идентификатором uri и строкой запроса.,Немедленно используйте это местоположение для обработки запроса.,Вместо использования обычного uri блока местоположения середина для соответствия строке запроса
Например, следующая конфигурация демонстрирует третью схему конфигурации. Когда мы получаем доступ. http://44.179.118.54:80/shop/xxx
когда
доступкогда Nginx воля /shop/
Отрезаем его и ставим следующее path
Соединен с proxy_pass
начальство
Итак, на самом деле мы получаем доступ к: http://44.179.118.54:8007/xxx
этот сервис.
второй визит http://44.179.118.54:8007/addrdata/xxx
На самом деле это визит http://44.179.118.54:8007/xxx
этот сервис.
Эффекты, достигаемые этими двумя методами настройки, согласуются.
В основном proxy_pass
Добавить после адреса /
и без добавления /
Логика обработки совершенно другая.
# shop-service
# Сервис-магазин-сервис обратных прокси
location ^~ /shop/ {
proxy_pass http://44.179.118.54:8007/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
# Эффект здесь согласуется с эффектом конфигурации поверхности начального уровня.
location ~ ^/addrdata/(.*) {
proxy_pass http://44.179.118.54:8007/$1$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
Таким образом мы получаем доступ http://19.11.11.70:8888/test-api/xxx
На самом деле это визит http://19.11.11.71:8088/test-api/xxx
,Просто помоги 19.11.11.71:8088
Порт имеет уровень прокси
server {
listen 8888;
server_name 19.11.11.70;
client_max_body_size 10240m; #Измените его на то, что вы хотите установить Hclient_body_timeout 6000s;
client_header_timeout 600;
client_body_buffer_size 128m;
send_timeout 300s;
keepalive_timeout 300s;
location /test-api {
proxy_pass http://19.11.11.71:8088/test-api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
}
# root Оглавление настроить интерфейс
# Размещение на сайте /home/java/nginx/cn_abd-app/abd-app
location / {
root /home/java/nginx/cn_abd-app/abd-app/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# некорневой Оглавление настроить интерфейс
# Размещение на сайте /home/java/nginx/cn_bbd-app/bbd-app
location /bbd-app {
root /home/java/nginx/cn_bbd-app/;
index index.html index.htm;
try_files $uri $uri/ /bbd-app/index.html;
}
# Некорневое Оглавление настроить интерфейс вторичной маршрутизации
# Размещение на сайте /home/java/nginx/cn_bbd-app/app/bbd-app
location /app/bbd-app {
root /home/java/nginx/cn_bbd-app/;
index index.html index.htm;
try_files $uri $uri/ /app/bbd-app/index.html;
}
# Некорневое Оглавление настроить внешний интерфейс маршрутизации хэша
# Размещение на сайте /home/java/nginx/cn_bbd-app/share
location /share {
root /home/java/nginx/cn_bbd-app/;
index index.html index.htm;
}
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/180278.html Исходная ссылка: https://javaforall.cn