Странности с версией 0.7.22
nginx at teratelecom.ru
nginx at teratelecom.ru
Sun Nov 30 10:44:09 MSK 2008
Nginx используется в качестве фронтенда, проксируя запросы на апач.
Для контроля работы хостинга пишется специальный лог
1228027904.663 600.217 86.110.187.156:4834 302
stat_uid=51B046AAF32A3249E0785131029B2603 -
cp.4game.ru/actions/createaccount/service/6.html
https://cp.4game.ru/services/details/service/6.html 172.29.8.17:80 0.232
302 30/Nov/2008:09:51:44 +0300 "Mozilla/5.0 (Windows; U; Windows NT 5.1;
ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4"
1228028231.656 600.225 62.133.188.23:1748 302
stat_uid=51B046AA78293249E678C12F02B52A03 -
cp.4game.ru/actions/createaccount/service/6.html
https://cp.4game.ru/index/login.html 172.29.8.14:80 0.232 302
30/Nov/2008:09:57:11 +0300 "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru;
rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1"
формат лога
log_format stat_log_format '$msec $request_time $remote_addr:$remote_port
'$status $uid_got $uid_set $server_name$request_uri $http_referer '
'$upstream_addr $upstream_response_time $upstream_status $time_local
"$http_user_agent"';
Вопрос, что так долго делает nginx над ответом апача? Почти 600 секунд
думать... И запрос то ерундовый, код возврата 302.
Самому мне вызвать подобные "тормоза" не получается. Да и по выставленным
таймаутам 600 секунд нгинкс думать над запросом не имеет права.
Может это как-то связано с тем, что сайт https ?
Ранее (до перехода на 0.7.22) такого поведения не замечал (стоял 0.7.2).
Хотя возможно до этого соответствующей страницы не было
Вот полный конфиг
events {
worker_connections 8192;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 10m;
client_max_body_size 10m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
ignore_invalid_headers on;
index index.html;
proxy_read_timeout 65;
proxy_send_timeout 11;
proxy_connect_timeout 10;
proxy_next_upstream error;
# upstream apache0 {
# ip_hash;
# server 172.29.8.4:80 fail_timeout=60s;
# server 172.29.8.5:80 fail_timeout=60s;
# }
log_format my_log_format '$msec $request_time '
'$remote_addr:$remote_port $connection $uid_got $uid_set '
'$status $request_length $body_bytes_sent '
'"$request" "$http_referer"';
log_format stat_log_format '$msec $request_time
$remote_addr:$remote_port '
'$status $uid_got $uid_set $server_name$request_uri $http_referer '
'$upstream_addr $upstream_response_time $upstream_status
$time_local "$http_user_agent"';
limit_zone one $binary_remote_addr 10m;
limit_conn one 32;
limit_zone too $server_name 1m;
userid on;
userid_name stat_uid;
userid_domain none;
userid_path /;
# userid_expires 365d;
include /etc/nginx/include/*;
}
И часть того, что лежит в папке /etc/nginx/include
upstream apache0 {
ip_hash;
server 172.29.8.4 max_fails=3 fail_timeout=60s ;
server 172.29.8.5 max_fails=3 fail_timeout=60s ;
server 172.29.8.14 max_fails=3 fail_timeout=60s ;
server 172.29.8.14 max_fails=3 fail_timeout=60s ;
server 172.29.8.15 max_fails=3 fail_timeout=60s ;
server 172.29.8.15 max_fails=3 fail_timeout=60s ;
server 172.29.8.2 max_fails=3 fail_timeout=60s ;
server 172.29.8.3 max_fails=3 fail_timeout=60s ;
server 172.29.8.16 max_fails=3 fail_timeout=60s ;
server 172.29.8.16 max_fails=3 fail_timeout=60s ;
server 172.29.8.17 max_fails=3 fail_timeout=60s ;
server 172.29.8.17 max_fails=3 fail_timeout=60s ;
}
server {
listen 81.176.70.170;
server_name cp.4game.ru ;
proxy_next_upstream error timeout invalid_header http_500 http_503;
rewrite ^/(.*) https://cp.4game.ru/$1 permanent;
}
server {
listen 81.176.70.170:443 default;
ssl on;
ssl_certificate /etc/nginx/ssl/cp.4game.ru.pem;
ssl_certificate_key /etc/nginx/ssl/cp.4game.ru.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
server_name cp.4game.ru ;
charset UTF8;
access_log /var/log/nginx/cp.4game.ru-access_log combined;
# error_log /var/log/nginx/cp.4game.ru-error_log;
location ~* (^/.htaccess.*|admin\/(admin.php.*)$) { deny all; }
location ~* ^(.+\.(php|php3|html)|.*/)$ {
proxy_pass http://apache0;
proxy_set_header Host cp.4game.ru;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
index index.php index.html;
limit_conn too 20;
access_log /var/log/nginx/stat_log stat_log_format;
}
location ~ / {
root /data/cp.4game.ru/htdocs;
}
}
--
С уважением,
Волков Олег
More information about the nginx-ru
mailing list