А главное, что не понятно, как для массхостинга (для чего еще применять директадмин?) прописывать конфиги в nginx автоматом?<br><br><div><span class="gmail_quote">10.01.07, <b class="gmail_sendername">Modus operandi Design
</b> <<a href="mailto:vipcenter@gmail.com">vipcenter@gmail.com</a>> написал(а):</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Может подскажете как сейчас выйти из положения<br><br>Если nginx включен то не показываются ни одни картинки,<br>(все идет через него так как кгда nginx выключаешь, то с сервером<br>соединения нет)<br><br>в nginx.conf<br>
<br>user nobody nobody;<br><br>worker_processes 2;<br><br>#pid /var/run/nginx.pid;<br><br># [ debug | info | notice | warn | error | crit ]<br><br>#error_log /var/log/nginx.error_log info;<br>
<br>events {<br> worker_connections 2000;<br><br> # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];<br> # use kqueue;<br>}<br><br>http {<br><br> include conf/mime.types;<br> default_type application/octet-stream;
<br><br><br> log_format main '$remote_addr - $remote_user [$time_local] '<br> '"$request" $status $bytes_sent '<br> '"$http_referer" "$http_user_agent" '
<br> '"$gzip_ratio"';<br><br> log_format download '$remote_addr - $remote_user [$time_local] '<br> '"$request" $status $bytes_sent '
<br> '"$http_referer" "$http_user_agent" '<br> '"$http_range" "$sent_http_content_range"';<br><br> client_header_timeout 3m;
<br> client_body_timeout 3m;<br> send_timeout 3m;<br><br> client_header_buffer_size 1k;<br> large_client_header_buffers 4 4k;<br><br> gzip on;<br> gzip_min_length 1100;<br> gzip_buffers 4 8k;
<br> gzip_types text/plain;<br><br> output_buffers 1 32k;<br> postpone_output 1460;<br><br> sendfile on;<br> tcp_nopush on;<br> tcp_nodelay on;<br> #send_lowat 12000;
<br><br> keepalive_timeout 75 20;<br><br> #lingering_time 30;<br> #lingering_timeout 10;<br> #reset_timedout_connection on;<br><br><br> server {<br> listen <a href="http://89.108.85.59:85">
89.108.85.59:85</a>;<br> server_name <a href="http://eurospace.ru">eurospace.ru</a> <a href="http://www.eurospace.ru">www.eurospace.ru</a>;<br><br> #access_log /var/log/nginx.access_log main;<br><br> location / {
<br> proxy_pass <a href="http://89.108.85.59/">http://89.108.85.59/</a>;<br> proxy_redirect off;<br><br> proxy_set_header Host $host;<br> proxy_set_header X-Real-IP $remote_addr;
<br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br><br> client_max_body_size 10m;<br> client_body_buffer_size 128k;<br><br> #client_body_temp_path /var/nginx/client_body_temp;
<br><br> proxy_connect_timeout 90;<br> proxy_send_timeout 90;<br> proxy_read_timeout 90;<br> #proxy_send_lowat 12000;<br><br> proxy_buffer_size 4k;
<br> proxy_buffers 4 32k;<br> proxy_busy_buffers_size 64k;<br> proxy_temp_file_write_size 64k;<br><br> #proxy_temp_path /var/nginx/proxy_temp;<br><br>
charset koi8-r;<br> }<br><br> error_page 404 /404.html;<br><br> location /404.html {<br> root /spool/www;<br><br> #charset on;<br> source_charset koi8-r;
<br> }<br><br> location /old_stuff/ {<br> rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;<br> }<br><br> location /download/ {<br><br> valid_referers none blocked server_names *.example.com;
<br><br> if ($invalid_referer) {<br> #rewrite ^/ <a href="http://www.example.com/">http://www.example.com/</a>;<br> return 403;<br> }<br><br> #rewrite_log on;
<br><br> # rewrite /download/*/mp3/*.any_ext to /download/*/mp3/*.mp3<br> rewrite ^/(download/.*)/mp3/(.*)\..*$<br> /$1/mp3/$2.mp3 break;<br><br> root /spool/www;
<br> #autoindex on;<br> #access_log /var/log/nginx-download.access_log download;<br> }<br><br> location ~* ^.+\.(jpg|jpeg|gif)$ {<br> root /spool/www;<br> access_log off;
<br> expires 30d;<br> }<br> }<br>}<br><br><br><br>10.01.07, Alexey Polyakov<<a href="mailto:alexey.polyakov@gmail.com">alexey.polyakov@gmail.com</a>> написал(а):<br>> Нет, не так.<br>> Допустим у вас внешний адрес
<a href="http://83.222.25.17">83.222.25.17</a>.<br>><br>> iptables -t nat -A PREROUTING -d <a href="http://83.222.25.17">83.222.25.17</a> -i eth0 -p tcp -m tcp<br>> --dport 80 -m state --state NEW -j REDIRECT --to-ports 85
<br>><br>> В итоге все запросы которые извне придут на адрес <a href="http://83.222.25.17">83.222.25.17</a> на 80-й<br>> порт - пойдут на 85-й порт.<br>><br>> В nginx надо listen <a href="http://83.222.25.17:85">
83.222.25.17:85</a>; и proxy_pass <a href="http://83.222.25.17">http://83.222.25.17</a>;<br>><br>> Тогда nginx получит на 85-м порту этот запрос и проксирует на апач на<br>> 80-м порту.<br>><br>> <a href="http://127.0.0.1">
127.0.0.1</a> вообще не надо использовать в данном случае.<br>><br>><br>> On 1/10/07, Modus operandi Design <<a href="mailto:vipcenter@gmail.com">vipcenter@gmail.com</a>> wrote:<br>> > Правильно ли мы поняли?
<br>> > т.е. кофиг в nginx будет такой?<br>> ><br>> > user nobody;<br>> ><br>> > worker_processes 2;<br>> ><br>> > pid /var/run/nginx.pid;<br>> ><br>> > # [ debug | info | notice | warn | error | crit ]
<br>> ><br>> > error_log /var/log/nginx.error_log info;<br>> ><br>> > events {<br>> > connections 2000;<br>> ><br>> > # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
<br>> > use kqueue;<br>> > }<br>> ><br>> > http {<br>> ><br>> > include conf/mime.types;<br>> > default_type application/octet-stream;<br>> ><br>> ><br>
> > log_format main '$remote_addr - $remote_user [$time_local] '<br>> > '"$request" $status $bytes_sent '<br>> > '"$http_referer" "$http_user_agent" '
<br>> > '"$gzip_ratio"';<br>> ><br>> > log_format download '$remote_addr - $remote_user [$time_local] '<br>> > '"$request" $status $bytes_sent '
<br>> > '"$http_referer" "$http_user_agent" '<br>> > '"$http_range" "$sent_http_content_range"';<br>> >
<br>> > client_header_timeout 3m;<br>> > client_body_timeout 3m;<br>> > send_timeout 3m;<br>> ><br>> > client_header_buffer_size 1k;<br>> > large_client_header_buffers 4 4k;
<br>> ><br>> > gzip on;<br>> > gzip_min_length 1100;<br>> > gzip_buffers 4 8k;<br>> > gzip_types text/plain;<br>> ><br>> > output_buffers 1 32k;<br>> > postpone_output 1460;
<br>> ><br>> > sendfile on;<br>> > tcp_nopush on;<br>> > tcp_nodelay on;<br>> > send_lowat 12000;<br>> ><br>> > keepalive_timeout 75 20;<br>
> ><br>> > #lingering_time 30;<br>> > #lingering_timeout 10;<br>> > #reset_timedout_connection on;<br>> ><br>> ><br>> > server {<br>> > listen 85;
<br>> > server_name <a href="http://one.example.com">one.example.com</a> <a href="http://www.one.example.com">www.one.example.com</a>;<br>> ><br>> > access_log /var/log/nginx.access_log main;
<br>> ><br>> > location / {<br>> > proxy_pass <a href="http://127.0.0.1/">http://127.0.0.1/</a>;<br>> > proxy_redirect off;<br>> ><br>> > proxy_set_header Host $host;
<br>> > proxy_set_header X-Real-IP $remote_addr;<br>> > #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>> ><br>> > client_max_body_size 10m;
<br>> > client_body_buffer_size 128k;<br>> ><br>> > client_body_temp_path /var/nginx/client_body_temp;<br>> ><br>> > proxy_connect_timeout 90;<br>
> > proxy_send_timeout 90;<br>> > proxy_read_timeout 90;<br>> > proxy_send_lowat 12000;<br>> ><br>> > proxy_buffer_size 4k;
<br>> > proxy_buffers 4 32k;<br>> > proxy_busy_buffers_size 64k;<br>> > proxy_temp_file_write_size 64k;<br>> ><br>> > proxy_temp_path /var/nginx/proxy_temp;
<br>> ><br>> > charset koi8-r;<br>> > }<br>> ><br>> > error_page 404 /404.html;<br>> ><br>> > location /404.html {<br>> > root /spool/www;
<br>> ><br>> > charset on;<br>> > source_charset koi8-r;<br>> > }<br>> ><br>> > location /old_stuff/ {<br>> > rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;
<br>> > }<br>> ><br>> > location /download/ {<br>> ><br>> > valid_referers none blocked server_names *.example.com;<br>> ><br>> > if ($invalid_referer) {
<br>> > #rewrite ^/ <a href="http://www.example.com/">http://www.example.com/</a>;<br>> > return 403;<br>> > }<br>> ><br>> > #rewrite_log on;
<br>> ><br>> > # rewrite /download/*/mp3/*.any_ext to /download/*/mp3/*.mp3<br>> > rewrite ^/(download/.*)/mp3/(.*)\..*$<br>> > /$1/mp3/$2.mp3 break;
<br>> ><br>> > root /spool/www;<br>> > #autoindex on;<br>> > access_log /var/log/nginx-download.access_log download;<br>> > }<br>> >
<br>> > location ~* ^.+\.(jpg|jpeg|gif)$ {<br>> > root /spool/www;<br>> > access_log off;<br>> > expires 30d;<br>> > }<br>> > }
<br>> > }<br>> > а в<br>> > iptables -t nat -A PREROUTING -d <a href="http://127.0.0.1">127.0.0.1</a> -i eth0 -p tcp -m<br>> > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85<br>> >
<br>> > делаем<br>> ><br>> > iptables -t nat -A PREROUTING -d <a href="http://127.0.0.1">127.0.0.1</a> -i eth0 -p tcp -m<br>> > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85<br>> >
<br>> > Так?<br>> ><br>> > 10.01.07, Alexey Polyakov<<a href="mailto:alexey.polyakov@gmail.com">alexey.polyakov@gmail.com</a>> написал(а):<br>> > > On 1/10/07, Modus operandi Design <<a href="mailto:vipcenter@gmail.com">
vipcenter@gmail.com</a>> wrote:<br>> > ><br>> > > > Может кто поделиться опытом или подскажет что стоящее - поверьте уже<br>> > > > десятки вариантов перепробовали и не хочет работать.<br>
> > ><br>> > > Проблема видимо в том что DA сам слушает внешний ip на 80 порту, и<br>> > > переучить его не получается.<br>> > ><br>> > > Решение:<br>> > > iptables -t nat -A PREROUTING -d нужный_внешний_ip -i eth0 -p tcp -m
<br>> > > tcp --dport 80 -m state --state NEW -j REDIRECT --to-ports 85<br>> > > (тут какие-то флажки лишние, я из дампа iptables-save скопировал)<br>> > ><br>> > > В конфиге nginx:<br>
> > ><br>> > > listen основной_ip_интерфейса:85;<br>> > > location / {<br>> > > proxy_pass <a href="http://нужный_внешний_ip">http://нужный_внешний_ip</a>;<br>> > > ...<br>
> > > }<br>> > ><br>> > > --<br>> > > Alexey Polyakov<br>> > ><br>> ><br>><br>><br>> --<br>> Alexey Polyakov<br>><br></blockquote></div><br>