Re: Re: Re: nginx и DirectAdmin
Дмитрий Леоненко
dmitry.leonenko at gmail.com
Wed Jan 10 22:51:46 MSK 2007
А главное, что не понятно, как для массхостинга (для чего еще применять
директадмин?) прописывать конфиги в nginx автоматом?
10.01.07, Modus operandi Design <vipcenter at gmail.com> написал(а):
>
> Может подскажете как сейчас выйти из положения
>
> Если nginx включен то не показываются ни одни картинки,
> (все идет через него так как кгда nginx выключаешь, то с сервером
> соединения нет)
>
> в nginx.conf
>
> user nobody nobody;
>
> worker_processes 2;
>
> #pid /var/run/nginx.pid;
>
> # [ debug | info | notice | warn | error | crit ]
>
> #error_log /var/log/nginx.error_log info;
>
> events {
> worker_connections 2000;
>
> # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
> # use kqueue;
> }
>
> http {
>
> include conf/mime.types;
> default_type application/octet-stream;
>
>
> log_format main '$remote_addr - $remote_user [$time_local] '
> '"$request" $status $bytes_sent '
> '"$http_referer" "$http_user_agent" '
> '"$gzip_ratio"';
>
> log_format download '$remote_addr - $remote_user [$time_local] '
> '"$request" $status $bytes_sent '
> '"$http_referer" "$http_user_agent" '
> '"$http_range" "$sent_http_content_range"';
>
> client_header_timeout 3m;
> client_body_timeout 3m;
> send_timeout 3m;
>
> client_header_buffer_size 1k;
> large_client_header_buffers 4 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;
> #send_lowat 12000;
>
> keepalive_timeout 75 20;
>
> #lingering_time 30;
> #lingering_timeout 10;
> #reset_timedout_connection on;
>
>
> server {
> listen 89.108.85.59:85;
> server_name eurospace.ru www.eurospace.ru;
>
> #access_log /var/log/nginx.access_log main;
>
> location / {
> proxy_pass http://89.108.85.59/;
> proxy_redirect off;
>
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
> client_max_body_size 10m;
> client_body_buffer_size 128k;
>
> #client_body_temp_path /var/nginx/client_body_temp;
>
> proxy_connect_timeout 90;
> proxy_send_timeout 90;
> proxy_read_timeout 90;
> #proxy_send_lowat 12000;
>
> proxy_buffer_size 4k;
> proxy_buffers 4 32k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
>
> #proxy_temp_path /var/nginx/proxy_temp;
>
> charset koi8-r;
> }
>
> error_page 404 /404.html;
>
> location /404.html {
> root /spool/www;
>
> #charset on;
> source_charset koi8-r;
> }
>
> location /old_stuff/ {
> rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;
> }
>
> location /download/ {
>
> valid_referers none blocked server_names *.example.com;
>
> if ($invalid_referer) {
> #rewrite ^/ http://www.example.com/;
> return 403;
> }
>
> #rewrite_log on;
>
> # rewrite /download/*/mp3/*.any_ext to /download/*/mp3/*.mp3
> rewrite ^/(download/.*)/mp3/(.*)\..*$
> /$1/mp3/$2.mp3 break;
>
> root /spool/www;
> #autoindex on;
> #access_log /var/log/nginx-download.access_log download;
> }
>
> location ~* ^.+\.(jpg|jpeg|gif)$ {
> root /spool/www;
> access_log off;
> expires 30d;
> }
> }
> }
>
>
>
> 10.01.07, Alexey Polyakov<alexey.polyakov at gmail.com> написал(а):
> > Нет, не так.
> > Допустим у вас внешний адрес 83.222.25.17.
> >
> > iptables -t nat -A PREROUTING -d 83.222.25.17 -i eth0 -p tcp -m tcp
> > --dport 80 -m state --state NEW -j REDIRECT --to-ports 85
> >
> > В итоге все запросы которые извне придут на адрес 83.222.25.17 на 80-й
> > порт - пойдут на 85-й порт.
> >
> > В nginx надо listen 83.222.25.17:85; и proxy_pass http://83.222.25.17;
> >
> > Тогда nginx получит на 85-м порту этот запрос и проксирует на апач на
> > 80-м порту.
> >
> > 127.0.0.1 вообще не надо использовать в данном случае.
> >
> >
> > On 1/10/07, Modus operandi Design <vipcenter at gmail.com> wrote:
> > > Правильно ли мы поняли?
> > > т.е. кофиг в nginx будет такой?
> > >
> > > user nobody;
> > >
> > > worker_processes 2;
> > >
> > > pid /var/run/nginx.pid;
> > >
> > > # [ debug | info | notice | warn | error |
> crit ]
> > >
> > > error_log /var/log/nginx.error_log info;
> > >
> > > events {
> > > connections 2000;
> > >
> > > # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
> > > use kqueue;
> > > }
> > >
> > > http {
> > >
> > > include conf/mime.types;
> > > default_type application/octet-stream;
> > >
> > >
> > > log_format main '$remote_addr - $remote_user [$time_local] '
> > > '"$request" $status $bytes_sent '
> > > '"$http_referer" "$http_user_agent" '
> > > '"$gzip_ratio"';
> > >
> > > log_format download '$remote_addr - $remote_user [$time_local] '
> > > '"$request" $status $bytes_sent '
> > > '"$http_referer" "$http_user_agent" '
> > > '"$http_range" "$sent_http_content_range"';
> > >
> > > client_header_timeout 3m;
> > > client_body_timeout 3m;
> > > send_timeout 3m;
> > >
> > > client_header_buffer_size 1k;
> > > large_client_header_buffers 4 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;
> > > send_lowat 12000;
> > >
> > > keepalive_timeout 75 20;
> > >
> > > #lingering_time 30;
> > > #lingering_timeout 10;
> > > #reset_timedout_connection on;
> > >
> > >
> > > server {
> > > listen 85;
> > > server_name one.example.com www.one.example.com;
> > >
> > > access_log /var/log/nginx.access_log main;
> > >
> > > location / {
> > > proxy_pass http://127.0.0.1/;
> > > proxy_redirect off;
> > >
> > > proxy_set_header Host $host;
> > > proxy_set_header X-Real-IP $remote_addr;
> >
> > #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> > >
> > > client_max_body_size 10m;
> > > client_body_buffer_size 128k;
> > >
> > > client_body_temp_path /var/nginx/client_body_temp;
> > >
> > > proxy_connect_timeout 90;
> > > proxy_send_timeout 90;
> > > proxy_read_timeout 90;
> > > proxy_send_lowat 12000;
> > >
> > > proxy_buffer_size 4k;
> > > proxy_buffers 4 32k;
> > > proxy_busy_buffers_size 64k;
> > > proxy_temp_file_write_size 64k;
> > >
> > > proxy_temp_path /var/nginx/proxy_temp;
> > >
> > > charset koi8-r;
> > > }
> > >
> > > error_page 404 /404.html;
> > >
> > > location /404.html {
> > > root /spool/www;
> > >
> > > charset on;
> > > source_charset koi8-r;
> > > }
> > >
> > > location /old_stuff/ {
> > > rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;
> > > }
> > >
> > > location /download/ {
> > >
> > > valid_referers none blocked server_names *.example.com;
> > >
> > > if ($invalid_referer) {
> > > #rewrite ^/ http://www.example.com/;
> > > return 403;
> > > }
> > >
> > > #rewrite_log on;
> > >
> > > # rewrite /download/*/mp3/*.any_ext to
> /download/*/mp3/*.mp3
> > > rewrite ^/(download/.*)/mp3/(.*)\..*$
> > > /$1/mp3/$2.mp3 break;
> > >
> > > root /spool/www;
> > > #autoindex on;
> > > access_log /var/log/nginx-download.access_log download;
> > > }
> > >
> > > location ~* ^.+\.(jpg|jpeg|gif)$ {
> > > root /spool/www;
> > > access_log off;
> > > expires 30d;
> > > }
> > > }
> > > }
> > > а в
> > > iptables -t nat -A PREROUTING -d 127.0.0.1 -i eth0 -p tcp -m
> > > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85
> > >
> > > делаем
> > >
> > > iptables -t nat -A PREROUTING -d 127.0.0.1 -i eth0 -p tcp -m
> > > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85
> > >
> > > Так?
> > >
> > > 10.01.07, Alexey Polyakov<alexey.polyakov at gmail.com> написал(а):
> > > > On 1/10/07, Modus operandi Design <vipcenter at gmail.com> wrote:
> > > >
> > > > > Может кто поделиться опытом или подскажет что стоящее - поверьте
> уже
> > > > > десятки вариантов перепробовали и не хочет работать.
> > > >
> > > > Проблема видимо в том что DA сам слушает внешний ip на 80 порту, и
> > > > переучить его не получается.
> > > >
> > > > Решение:
> > > > iptables -t nat -A PREROUTING -d нужный_внешний_ip -i eth0 -p tcp -m
> > > > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85
> > > > (тут какие-то флажки лишние, я из дампа iptables-save скопировал)
> > > >
> > > > В конфиге nginx:
> > > >
> > > > listen основной_ip_интерфейса:85;
> > > > location / {
> > > > proxy_pass http://нужный_внешний_ip;
> > > > ...
> > > > }
> > > >
> > > > --
> > > > Alexey Polyakov
> > > >
> > >
> >
> >
> > --
> > Alexey Polyakov
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070110/9b2fca8c/attachment.html>
More information about the nginx-ru
mailing list