Nginx 역방향 에이전트 및 교체 내용 모듈 ngxhttp_substitutions_filter_modu
예전 에 Nginx 역방향 에이전트 with - httpsub_module 과 substitutions4nginx 모듈 은 본문 내용 과 URL 을 바 꾸 고, 군용 lnmp 환경 에서 역방향 프 록 시 서버 를 설정 하 는 방법 튜 토리 얼 입 니 다.
본 튜 토리 얼 은 군형 lnmp 환경 을 바탕 으로 다른 Nginx 와 유사 합 니 다.nginx conf 의 위 치 는 일반적으로 / usr / local / nginx / conf / 에 컴 파일 되 어 있 으 며, 원본 에서 / etc / nginx 에 설치 되 어 있 습 니 다.
lnmp 의 설 치 는 여기 서 생략 합 니 다. 아래 강 좌 는 이미 설 치 된 lnmp 환경 에서 역방향 프 록 시 서버 를 설정 하고 내용 을 바 꾸 는 것 입 니 다.
1. 역방향 프 록 시 서버 로 cdn 가속 을 하고 내용 을 바 꾸 지 않 습 니 다.
1. 가상 호스트 설정 파일 을 새로 추가 하여 리 버스 에 사용 합 니 다.
nginx conf 가 있 는 위 치 를 찾 습 니 다. 일반적으로 컴 파일 된 것 은 / usr / local / nginx / conf / 입 니 다. 원본 에서 / etc / nginx 에 설치 되 어 있 습 니 다.
nginx. conf 의 http 층 에 다음 내용 을 추가 합 니 다:
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;
#
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:5m inactive=7d max_size=1g;
#5m ,1g ,cache_one , 。
mkdir /home/cache/path -p
mkdir /home/cache/temp
chmod 777 -R /home/cache
가상 호스트 설정 추가:
vi /usr/local/nginx/conf/vhost/xxorg.com.conf
\ # xxorg. com 은 연결 할 도 메 인 이름 입 니 다.
설정 파일 내용: {백 엔 드 (ip 1.2.3.4) 바 인 딩 도 메 인 xxorg. com, 전단 바 인 딩 도 메 인 xxorg. com, 도 메 인 이름 을 전단 으로 분석 하여 cdn 가속 을 실현 합 니 다.}
server{
listen 80;
server_name example.com www.example.com;
#
index index.php;
#
access_log off;
#off
location / {
proxy_cache_key "$scheme://$host$request_uri";
# key , 。
proxy_cache cache_one;
# ,
proxy_cache_valid 200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304 3
301 3
( 502 404)10
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ip
proxy_set_header Referer http://example.com;
# Referer,
proxy_set_header Host $host;
#
proxy_pass http://1.2.3.4;
# ip,
#proxy_cache_use_stale invalid_header error timeout http_502;
# 、 、502 , 。
}
}
의외 의 일이 없 으 면 nginx 를 다시 시작 한 후 xxorg. com 을 전단 에 연결 하면 접근 할 수 있 습 니 다.
다음 방법 으로 프로필 이 올 바른 지 확인 할 수 있 습 니 다.
실행:
/usr/local/nginx/sbin/nginx -t
설정 이 정상 인지 확인 하 십시오. 표시 되면:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
nginx 의 설정 파일 이 정상 이라는 것 을 설명 합 니 다. 그렇지 않 으 면 오류 알림 에 따라 설정 을 수정 합 니 다.
그리고 집행
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
설정 적용,
/etc/init.d/nginx restart
=========================
2. 다음은 Nginx 를 통 해 다른 사람의 사 이 트 를 대리 하고 관련 내용 을 교체 합 니 다.
1. nginX:
apt-get update#nginx-full 。
cd /root
apt-get update
apt-get install -y git gcc g++ make automake
# ,Centos apt-get yum
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --add-module=/root/ngx_http_substitutions_filter_module
make
make install
시스템 이 데 비 안 이 라면 컴 파일 할 필요 가 없습니다.echo "deb http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
echo "deb-src http://packages.dotdeb.org squeeze all" >>/etc/apt/sources.list
# dotdeb , dotdeb
apt-get update
apt-get install nginx-full
#nginx-full 。
2. nginx. conf 를 수정 하고 역방향 프 록 시 설정 및 교체 내용 을 컴 파일 한 / usr / local / nginx / conf / nginx. conf, 소스 코드 는 / etc / nginx / nginx. conf 에서 xxorg. com 으로 www. baidu. com 을 대체 하고 내용 을 바 꾸 려 면: user www;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
… #
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;
proxy_cache_path /home/cache/one levels=1:2 keys_zone=cache_one:3m inactive=7d max_size=1g;
server {
listen 80;
server_name xxorg.com;
index index.php;
#
location / {
subs_filter_types text/html text/css text/xml;
subs_filter www.baidu.com xxorg.com gi;
# , 。
proxy_cache_key "$scheme://$host$request_uri";
# key , 。
proxy_cache cache_one;
# ,
proxy_cache_valid 200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304 3
#301 3
# ( 502 404)10
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ip
proxy_set_header Referer http://www.baidu.com;
# Referer,
proxy_set_header Host www.baidu.com;
#
proxy_pass http://1.2.3.4;
# ip
proxy_set_header Accept-Encoding "";
#
proxy_cache_use_stale invalid_header error timeout http_502;
# 、 、502
}
}
}
주의: Nginx 의 nginx 를 통 해substitutions_filter 모듈 교체 내용 에 중국어 가 있 습 니 다. conf 파일 을 utf - 8 without BOM 인 코딩 으로 저장 하 십시오.====================================
본 튜 토리 얼 은 모두 세 부분 이다.
Nginx 배합 ngxhttp_substitutions_filter_module 모듈 은 역방향 프 록 시 서버 를 구축 하고 목표 사이트 의 내용 을 교체 합 니 다 [하나]
Nginx 배합 ngxhttp_substitutions_filter_module 모듈 은 역방향 프 록 시 서버 를 구축 하고 목표 사이트 의 내용 을 교체 합 니 다 [의 2]
Nginx 역방향 에이전트 및 교체 내용 모듈 ngxhttp_substitutions_filter_module 사용 설명
Nginx 역방향 에이전트 및 교체 내용 모듈 ngxhttp_substitutions_filter_module 의 설명:
묘사 하 다. nginx_substitutions_filter 는 nginx 교체 모듈 로 apache 와 mod_substitute 모듈 처럼
사용 예시
location / {
subs_filter_types text/html text/css text/xml;
subs_filter st(\d*).example.com $1.example.com ir;
subs_filter a.example.com s.example.com;
}
Nginx 역방향 에이전트 및 내용 변경 명령: * subs_filter_types
* subs_filter
subs_filter_types 문법: * subsfilter_types mime-type [mime-types] *
기본 값: * subsfilter_types text/html*
내용: * http, server, location *
*subs_filter_types * 는 파일 형식 을 바 꾸 는 데 사 용 됩 니 다. 기본 값 은 text / html 형식의 파일 만 바 꿉 니 다.
* 만약 에 귀하 가 반대 하 는 포럼 에 로그 인 소스 사이트 와 같은 문제 가 발생 하면 이 항목 을 확인 하 십시오.
proxy_set_header Accept-Encoding “”;
subs_filter 문법: * subsfilter source_str destination_str [gior] *
기본 값: * none *
내용: * http, server, location *
*subs_filter * 텍스트 를 바 꾸 는 데 사용 되 며 정규 를 사용 할 수 있 습 니 다.
* * g * (기본 값): 일치 하 는 항목 을 바 꿉 니 다.
* * i *: 대소 문자 구분 일치
* * o *: 발 견 된 첫 번 째 것 만 일치 합 니 다.
* * r *: 정규.
* Nginx 리 버스 에이전트 및 교체 내용 참고 자료:
Nginx Wiki http://wiki.nginx.org/HttpProxyModule
YaoWeibin Github https://github.com/yaoweibin/ngx_http_substitutions_filter_module
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.