Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 24418|Відповідь: 1

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

[Копіювати посилання]
Опубліковано 02.04.2019 11:47:27 | | | |
Nginx — це легке та високопродуктивне серверне програмне забезпечення, хоча й легке, але дуже потужне, його можна використовувати для надання WEB-сервісів, зворотного проксі, балансування навантаження, кешування, а також для створення 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
Наступний:Запит до чорного списку ІТ, користувачі мережі повідомили новину і поділилися, лише для довідки
Опубліковано 02.08.2021 17:43:22 |
Дякую, що поділилися!
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com