이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 24418|회답: 1

[웹] Nginx 역프록시 및 콘텐츠 대체 모듈을 사용하여 동적 웹 콘텐츠 교체를 구현하세요

[링크 복사]
게시됨 2019. 4. 2. 오전 11:47:27 | | | |
Nginx는 경량이지만 매우 강력하지만 WEB 서비스, 리버스 프록시, 부하 분산, 캐싱 서비스를 제공하는 데 사용할 수 있으며, 일부 모듈을 추가하면 RTMP 스트리밍 서비스도 구축할 수 있습니다. 최근에 고객 요구가 발생해 nginx 웹 콘텐츠 교체 모듈을 사용해야 했습니다. 다음은 관련 실험 기록이며, 여러분과 소통하기 위해 게시한 것입니다. 부족한 점이 있으면 알려주세요.

ngx_http_sub_module 모듈은 웹사이트의 응답 내용 내 문자열을 수정하는 필터입니다. 이 모듈은 이미 nginx에 내장되어 있지만 기본적으로 설치되어 있지 않으며, 설치하려면 구성 매개변수를 추가해야 합니다: --with-http_sub_module 이미 nginx를 설치했다면 이 모듈만 추가하면 됩니다.

1. 설치:

NGINX 공식 웹사이트 다운로드 및 설치 패키지:하이퍼링크 로그인이 보입니다.

# wget하이퍼링크 로그인이 보입니다.

# 타르 -ZXVF nginx-1.11.5.tar.gz

# CD NGINX-1.11.5

# ./configure --with-http_stub_status_module --with-http_sub_module && Make & Make 설치

2. 공통 지침:

2.1 sub_filter 명령어: sub_filter 문자열(원래 문자열) 교체(교체할 문자열);

설명 문자열을 설명 문자열로 교체할 필요성을 설정하는 데 사용됩니다. 문자열은 교체할 문자열이고, 교체는 변수를 가질 수 있는 새 문자열입니다.

2.2 sub_filter_last_modified 지시: sub_filter_last_modified on | 이상;

웹 페이지의 대체 값을 수정할지 여부를 설정하는 데 사용되며, http, server, nginx.conf의 위치에서 설정할 수 있으며, 기본값은 꺼져 있습니다.

2.3 sub_filter_once지시: sub_filter_once on | 이상;

줄 교체 횟수를 정하는 데 사용된다.기본적으로 한 번만 교체됩니다. 켜져 있으면 기본적으로 처음 매칭된 캐릭터만 교체되고, 꺼져 있으면 매칭된 모든 캐릭터가 교체됩니다

2.4 sub_filter_types 지시: sub_filter_types *

교체할 MIME 타입을 지정하는 데 사용되며, 기본값은 "text/html"이며, *로 설정하면 all;

참고: 위 명령어는 http, server, location에서 nginx.conf에서 설정할 수 있습니다.

3. 웹 콘텐츠 역대 동적 대체 예시 참조:

상류하이퍼링크 로그인이 보입니다. {

서버 118.184.180.46:80;

}

#反向代理 여러 서버 IP가 있다면 부하 분산 방법이나 가중치 같은 정책을 추가할 수도 있습니다 #

서버 {

듣기 80;

#监听端口 #

server_name하이퍼링크 로그인이 보입니다.;

#设置server 이름 #

차르셋 UTF-8;

#设置字符编码为utf-8, 실제 상황에 따라 조정할 수 있습니다 #

위치 / {

proxy_pass하이퍼링크 로그인이 보입니다.$request_uri;

#反向代理规则 #

proxy_set_header 수락-인코딩은 수축합니다;

#设置反向代理头部, 때때로 원본 서버가 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 말이야;

#指定字符串替换次数, '켜'는 첫 번째로 매치된 문자만 교체하는 것을, 꺼짐은 매칭된 모든 캐릭터를 대체하는 것을 의미합니다 #

}

}

설명:

1. 이 모듈은 대문자 구분이 아닙니다;

2. 중국어 대체 지원;

Nginx.conf 전체 구성:


실험 효과의 스크린샷:



결론:

비슷한 콘텐츠 대체 모듈도 nginx_substitutions_filter, 관심이 있다면 실험하고 플레이할 수 있습니다.



렌더링:



코드 구성:







이전의:봄 JPA 세이브와 saveAndFlush의 차이점
다음:IT 블랙리스트 쿼리, 네티즌들이 이 소식을 보도하고 참고용으로 공유했습니다
게시됨 2021. 8. 2. 오후 5:43:22 |
공유해 주셔서 감사합니다!
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com