Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ðÒÏÂÌÅÍÁ Ó proxy_store/proxy_pass ÐÒÉ Î Å È×ÁÔËÅ ÍÅÓÔÁ × ÈÒÁÎÉÌÉÝÅ
- To: nginx-ru@xxxxxxxxx
- Subject: ðÒÏÂÌÅÍÁ Ó proxy_store/proxy_pass ÐÒÉ Î Å È×ÁÔËÅ ÍÅÓÔÁ × ÈÒÁÎÉÌÉÝÅ
- From: Andrey Zonov <andrey.zonov@xxxxxxxxx>
- Date: Fri, 13 Mar 2009 13:48:21 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=8B8nOAf0oKuudT5VNUM9ckbpFpUKtIbOQTKVJteFi2E=; b=Qd2+ME60OKjCEYg/c+L+4h3Qnrr6hGBF2ngN9ayzB3sXM+q0whbE0aYmFThQLcuVBt fAvvHij0wIOtTCK1XGio7r/2u3whlidSPKrdh8I1GIluNZUn5qe1XFAQcx6uDDWv7vrn rEhmh1a1rnfqgfI/cktyGf1hdrTeGicPeHUfA=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=VECEh3jDTiwE+6b7WZn2Q+0rTcm336yHEAJ3wGpE4SRPQj+xxpPUqQaHfshROPLzm4 icmjAS3Sfe8Xkpc7I9uPsuAh9cwvByMpVnuywiVxijn9kWhlFzB41HclygdPRgBC02Cj 4FW5Dua5oJi6DQC6AUu2uWDenzhVloD0yaghw=
äÏÂÒÙÊ ÄÅÎØ.
äÌÑ ÓÎÉÖÅÎÉÑ ÎÁÇÒÕÚËÉ ÎÁ ÂÅËÅÎÄÙ ÂÙÌÏ ÐÒÉÎÑÔÏ ÒÅÛÅÎÉÅ ÓÏÈÒÁÎÑÔØ
ËÁÒÔÉÎËÉ ÎÁ ÍÁÛÉÎËÉ Ó nginx-ÏÍ, ÒÅÇÕÌÑÒÎÏ ÞÉÓÔÉÔØ ÈÒÁÎÉÌÉÝÅ ÏÔ ÓÁÍÙÈ
ÎÅ ÐÏÐÕÌÑÒÎÙÈ ËÁÒÔÉÎÏË, Ô.Å. ÆÁËÔÉÞÅÓËÉ ÓÄÅÌÁÔØ ËÅÛÉÒÏ×ÁÎÉÅ.
ðÒÉ ÎÅ È×ÁÔËÅ ÍÅÓÔÁ × ÈÒÁÎÉÌÉÝÅ - nginx ÏÔÄÁ£Ô ËÌÉÅÎÔÕ 200, Ó ÐÕÓÔÙÍ
ÔÅÌÏÍ, ÐÏÔÏÍÕ ÞÔÏ ÔÅÌÏ ÎÅ ÍÏÖÅÔ ÓÏÈÒÁÎÉÔØ.
íÏÖÎÏ ÌÉ ËÁË-ÔÏ ÒÅÇÕÌÉÒÏ×ÁÔØ ÜÔÏ ÐÏ×ÅÄÅÎÉÅ?
÷ ÉÄÅÁÌÅ ÈÏÞÅÔÓÑ: ÅÓÌÉ ÆÁÊÌ ÎÅ ÕÄÁ£ÔÓÑ ÓÏÈÒÁÎÉÔØ, ÔÏ ÔÅÌÏ, ÔÁËÉ
ÏÔÄÁ×ÁÔØ ËÌÉÅÎÔÕ.
nginx.conf:
...
http {
...
ššššššš proxy_connect_timeoutšš 3;
ššššššš proxy_bufferingšššššššš on;
ššššššš proxy_buffer_sizešššššš 32k;
ššššššš proxy_buffersšššššššššš 32 32k;
ššššššš proxy_intercept_errorsš off;
ššššššš proxy_next_upstreamšššš error timeout http_500;
ššššššš proxy_store_accessššššš user:rwš group:rwš all:r;
ššššššš proxy_temp_pathšššššššš /place/nginx/cache/spool 1 2;
ššššššš upstream p0 {
ššššššššššššššš server w1.xxx.ru:5555;
ššššššššššššššš server w2.xxx.ru:5555;
...
ššššššš }
...
ššššššš server {
ššššššššššššššš listenššššššššš *:80 default;
ššššššššššššššš server_namešššš localhost;
ššššššššššššššš #-- main
ššššššššššššššš location / {
ššššššššššššššššššššššš if ( $request_uri ~
^/img\?id=([0-9])[0-9]*&rep=([0-9]) ) {
ššššššššššššššššššššššššššššššš set $hash $1;
ššššššššššššššššššššššššššššššš set $rep $2;
ššššššššššššššššššššššš }
ššššššššššššššššššššššš error_page 404 = @try;
ššššššššššššššš }
ššššššššššššššš #-- try local file
ššššššššššššššš location @try {
ššššššššššššššššššššššš rootššššššššššš /place/nginx/cache/$rep/$hash;
ššššššššššššššššššššššš access_logššššš /place/nginx/access_$rep.log stat;
ššššššššššššššššššššššš try_filesšššššš $request_uriššš @proxy$rep;
ššššššššššššššš }
ššššššššššššššš #-- proxy0
ššššššššššššššš location @proxy0 {
ššššššššššššššššššššššš access_logššššš /place/nginx/access_proxy_$rep.log stat;
ššššššššššššššššššššššš proxy_store
/place/nginx/cache/$rep/$hash$request_uri;
ššššššššššššššššššššššš proxy_passššššš http://p0;
ššššššššššššššš }
...
}
åÓÌÉ ÏÔËÌÀÞÉÔØ proxy_buffering, ÔÏ proxy_store ÓÏ×ÓÅÍ ÐÅÒÅÓÔÁ£Ô ÒÁÂÏÔÁÔØ :(
--
Andrey Zonov
|