Re: Непонятная ошибка в header.

maxhl at hitline.net.ua maxhl at hitline.net.ua
Tue Sep 9 13:34:20 MSD 2008


Эти опции задаются в контексте location.
______________________________________________________________________________
                location ~ .php$ {
                        fastcgi_pass unix:/mnt/md0/php-fcgi.sock;
                        include  /usr/local/nginx/conf/phpcgi.conf;
                        fastcgi_param SCRIPT_FILENAME /home/htdocs$fastcgi_script_name;
                }
______________________________________________________________________________
#phpcgi.conf
fastcgi_pass_request_body off;
client_body_in_file_only clean;
fastcgi_param  REQUEST_BODY_FILE  $request_body_file;
fastcgi_connect_timeout 30;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 32k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
fastcgi_intercept_errors on;
fastcgi_temp_path /mnt/md0;
fastcgi_param  QUERY_STRING    $query_string;
fastcgi_param  CONTENT_TYPE    $content_type;
fastcgi_param  CONTENT_LENGTH  $content_length;
fastcgi_param  REQUEST_URI     $request_uri;
fastcgi_param  REQUEST_METHOD  $request_method;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
fastcgi_param  SCRIPT_NAME        $request_uri;
fastcgi_param   DOCUMENT_ROOT   $document_root;
client_body_temp_path /mnt/md0;
fastcgi_param   REDIRECT_STATUS 200;
fastcgi_index  index.php;
proxy_set_header  X_SRC_CLIENT_IP       $http_x_src_client_ip;
proxy_set_header  X-Real-IP             $http_x_src_client_ip;
set_real_ip_from   192.168.1.4;
real_ip_header     X-Real-IP;
______________________________________________________________________________
Скрипт вида 
______________________________________________________________________________
<?
//phpinfo();
echo '$HTTP_HOST='.$HTTP_HOST.'<br>';
echo '$_SERVER["REMOTE_ADDR"]='.$_SERVER['REMOTE_ADDR'].'<br>';
echo '$_SERVER["HTTP_X_SRC_CLIENT_IP"]='.$_SERVER['HTTP_X_SRC_CLIENT_IP'].'<br><br>';
echo '$_SERVER["X-Real-IP"]='.$_SERVER['X-Real-IP'].'<br><br>';
?>
______________________________________________________________________________
Выдает нужный ип только при первом запуске ... при последующих пустая строка ...
При этом в логе все равно пищется 
192.168.1.4 - - [09/Sep/2008:13:16:15 +0400] "GET /ii.php HTTP/1.1" 200 632 "-" "Opera/9.52 (Windows NT 5.2; U; ru)"
______________________________________________________________________________
patch -d nginx -p1 < /usr/work/src2/src/hash_nginx_patch.diff
patch -d nginx -p1 < /usr/work/src2/src/request_per_seconds.dpatch

______________________________________________________________________________
#!/bin/sh
cd /usr/work/src2/nginx
make -s clean

CC="gcc" \
OPTIM="-O3 -pipe  -fno-exceptions -funroll-loops -ffast-math  -funroll-loops -march=athlon64 -msse3" \
CFLAGS="-O2 -pipe" \
INCLUDES="-I/usr/local/include" \
./configure  \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--without-http_empty_gif_module \
--without-select_module \
--without-poll_module \
--without-http_userid_module \
--without-http_map_module \
--with-pcre=../pcre \
--with-http_realip_module        !!! мод есть 100%

make -s  && make install
______________________________________________________________________________
root at srv/usr/work/src2> uname -a
FreeBSD srv.org 7.0-STABLE FreeBSD 7.0-STABLE #1: Wed Apr 23 15:45:06 MSD 2008     root at srv.org:/usr/obj/usr/src/sys/AMD64_7  amd64
______________________________________________________________________________

----- Original Message ----- 
From: "Igor Sysoev" <is at rambler-co.ru>
To: <nginx-ru at sysoev.ru>
Sent: Tuesday, September 09, 2008 9:24 AM
Subject: Re: Непонятная ошибка в header.


On Tue, Sep 09, 2008 at 08:37:45AM +0300, maxhl at hitline.net.ua wrote:

> Открывается страничка он есть ... если обновить страничку он пропадает.
> И потом сколько не обновляй его нет но если перегрузить nginx опять в 
> первый раз появится ...

В моих тестах я записывал $http_x_src_client_ip в access_log, он 
появлялся в каждом запросе

> ----- Original Message ----- 
> From: "Igor Sysoev" <is at rambler-co.ru>
> To: <nginx-ru at sysoev.ru>
> Sent: Monday, September 08, 2008 10:46 PM
> Subject: Re: Непонятная ошибка в header.
> 
> 
> On Mon, Sep 08, 2008 at 09:30:50PM +0300, maxhl at hitline.net.ua wrote:
> 
> >Вечер добрый.
> >В скрипте нужно было только  это
> >proxy_set_header  X_SRC_CLIENT_IP  $http_x_src_client_ip;
> >
> >proxy_set_header  X-Real-IP  $http_x_src_client_ip;  работает тоже только
> >первый раз ...
> 
> Что значит - только первый раз ?
> 
> >>Но нужно понимать, что в X_SRC_CLIENT_IP могут влить чего угодна
> >>и такая конструкция
> >>proxy_set_header  X-Real-IP  $http_x_src_client_ip;
> >>не гарантирует реальноого адреса.
> >Таких клиентов будут единицы ...
> 
> 
> -- 
> Игорь Сысоев
> http://sysoev.ru
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080909/a1177a51/attachment.html>


More information about the nginx-ru mailing list