Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 24418|Ответ: 1

[Веб] Используйте Nginx Reverse Proxy и Content Replacement Module для реализации динамической замены веб-контента

[Скопировать ссылку]
Опубликовано 02.04.2019 11:47:27 | | | |
Nginx — это лёгкое и высокопроизводительное серверное программное обеспечение, хотя и лёгкое, но очень мощное, оно может использоваться для предоставления веб-сервисов, обратного прокси, балансировки нагрузки, кэширования и даже для создания RTMP-стриминговых сервисов путём добавления некоторых модулей. Недавно я столкнулся с спросом со стороны клиента и понадобился воспользоваться модулем замены веб-контента nginx, ниже приведена запись соответствующего эксперимента, опубликованная для связи с вами. Если есть какие-либо недостатки, пожалуйста, укажите.

ngx_http_sub_module модуль — это фильтр, который изменяет строки в содержимом ответов сайта. Этот модуль уже встроен в nginx, но по умолчанию он не установлен, и для установки нужно добавить параметры конфигурации: --with-http_sub_module Если вы уже установили nginx, достаточно добавить только этот модуль.

1. Установка:

Официальный пакет загрузки и установки на сайте nginx:Вход по гиперссылке виден.

# wgetВход по гиперссылке виден.

# tar -zxvf nginx-1.11.5.tar.gz

# CD nginx-1.11.5

# ./configure --with-http_stub_status_module --with-http_sub_module && make && make install

2. Распространённые инструкции:

2.1 sub_filter Инструкции: замена sub_filter строки (оригинальная строка) (строка для замены);

Для установки необходимости заменить строку описания на строку описания. Строка — это строка, которую нужно заменить, замена — новая строка, в которой могут быть переменные.

2.2 sub_filter_last_modified Инструкция: sub_filter_last_modified на | не так;

Он используется для настройки изменения замены на веб-странице, которая может быть настроена в трёх местах: http, server и location в nginx.conf, при этом значение по умолчанию отклонено.

2.3 sub_filter_onceДиректива: sub_filter_once на | не так;

Используется для установки количества замен струн,По умолчанию он заменяется только один раз. Если он включён, по умолчанию заменяется только первый, сопоставленный с персонажем, а если он отключён, то все соответствующие персонажи будут заменены

2.4 sub_filter_types Инструкция: sub_filter_types *

Используется для указания типа MIME, который нужно заменить, по умолчанию — «text/html», если установлено на *, то all;

Примечание: приведённую выше команду можно настроить в http, server и location в nginx.conf.

3. Обратная динамическая замена веб-контента примера ссылки:

Вверх по течениюВход по гиперссылке виден. {

сервер 118.184.180.46:80;

}

#反向代理, если у вас несколько IP-адресов серверов, вы также можете добавить политики, такие как метод балансировки нагрузки и вес #

server {

слушать 80;

#监听端口 #

server_nameВход по гиперссылке виден.;

#设置server имя #

CHARSET UTF-8;

#设置字符编码为utf-8, которые можно скорректировать в зависимости от реальной ситуации #

Местоположение / {

proxy_passВход по гиперссылке виден.$request_uri;

#反向代理规则 #

proxy_set_header Кодировка Accept-Encoding — сдувание;

#设置反向代理头部 иногда исходный сервер реагирует на формат gzip, и возникают проблемы при его замене, которые можно решить с помощью этого элемента #

subs_filter '183.251.160.127' '123.181.128.17';

#替换指定ip замените здесь 183.251.160.127 на 123.181.128.17 #

subs_filter «Фуцзянь, городская мобильная компания», «Телеком провинции Хэбэй, город Таншань»;

#替换城市. Информация оператора: этот заменяющий модуль nginx поддерживает китайскую замену #

subs_filter_types текст/html;

#指定被替换的MIME类型 #

sub_filter_once дальше;

#指定字符串替换次数, on означает замену только первого совпадающего персонажа, а off — для замены всех соответствующих символов #

}

}

Иллюстрировать:

1. Этот модуль не чувствителен к регистру;

2. Поддержка китайской замены;

Полная конфигурация Nginx.conf:


Скриншот экспериментального эффекта:



Заключение:

Ещё один похожий модуль по замене контента nginx_substitutions_filter, если интересно, можно экспериментировать и играть.



Визуализации:



Настройте код:







Предыдущий:Разница между сохранением JPA весной и сохранением AndFlush
Следующий:Запрос в чёрный список IT, пользователи сети сообщили новость и поделились только для справки
Опубликовано 02.08.2021 17:43:22 |
Спасибо, что поделились!
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com