URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95637
[ Назад ]

Исходное сообщение
"Связка apache - nginx на сайте в качестве прокси"

Отправлено Magi , 31-Май-14 03:25 
Здравствуйте!
Подскажите пожалуйста, на сайте domain.ru с ip 1.1.1.1 стоял apache 2.2 и в конфиге были такие строки

ProxyRequests On
ProxyVia Block
AllowCONNECT 21 25 110 443 22 554 563 5190 1080 8080 5140 5160 4000 1478 1479 1480 8008 1480>

<Proxy *>
  Order deny,allow
  deny from all
  allow from xxx.xx.xx.xx
</Proxy>

Апач работал, как прокси. Но возникла необходимость поставить nginx.
# user nginx;
worker_processes  4;
timer_resolution 100ms;

# error_log  /dev/null;
error_log  /usr/local/nginx/logs/error.log  crit;
#pid        logs/nginx.pid;
worker_rlimit_nofile 200000;
worker_priority -5;
events { worker_connections  4000;

multi_accept on; }
http { include       mime.types; default_type  application/octet-stream;
types { text/plain    data;  }
    log_format  main  '$remote_addr - $remote_user [$time_local] $host $request
'
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_src_client_ip"';

#access_log /usr/local/nginx/logs/access.log  main;
access_log off;

# Caches information about open FDs, freqently accessed files.
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;


    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;
    
    gzip           on;
    gzip_min_length 10240;
    gzip_buffers 64 8k;
    gzip_comp_level 3;
    gzip_http_version 1.1;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/plan application/xml application/x-javascript text/css text/xml text/javascript;
    gzip_disable "msie6";
    client_body_timeout 10;
    client_header_timeout 10;
    send_timeout 2;
    
    keepalive_timeout  30;
    keepalive_requests 1000;
    
    server_tokens off;
    server_names_hash_bucket_size 64;
    proxy_buffers     100 64k;
    proxy_read_timeout 300;
    proxy_send_timeout 300;
    client_max_body_size 1500m;
    reset_timedout_connection on;

proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=one:16m inactive=7d max_size=1024m;
proxy_temp_path /var/cache/nginx/temp;

server {
      listen       *:80;
      server_name   *.com;
location /nginx_status { stub_status on; access_log off; allow 1.1.1.1; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_user_file /etc/munin/munin-htpasswd; }
      location / {
            proxy_pass        http://1.1.1.1:8181;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
      }

}

server {
      listen       *:80;
      server_name   www.domain.ru domain.ru;
location /nginx_status { stub_status on; access_log off; allow 1.1.1.1; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_user_file /etc/munin/munin-htpasswd; }
# proxy_temp_path /var/cache/nginx/domain.ru;

location / {
#            $host='domain.ru:80'
            proxy_pass http://1.1.1.1:80;
            proxy_set_header Host domain.ru;
        proxy_redirect off;
}
        
# location /administrator {
location ~*(administrator|comprofiler)* {
         proxy_cache off;
         proxy_pass        http://1.1.1.1:8181;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;

}

}
}


Теперь прокси перестал работать.
Ранее на голом апаче с помощью настроек выше можно было использовать адрес сайта и 80 порт в качестве прокси, указав его в настройках браузера. Для повышения производительности был добавлен nginx, но функционал прокси отвалился. Сейчас нужно его вернуть. На сервере открыт только 80 и 22 порты, других не будет. Подскажите, как вернуть функционал прокси?


Содержание

Сообщения в этом обсуждении
"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 31-Май-14 09:04 
> Ранее на голом апаче с помощью настроек выше можно было использовать адрес
> сайта и 80 порт в качестве прокси, указав его в настройках
> браузера.

.....

> функционал прокси отвалился.

.....

> Сейчас нужно его вернуть. Подскажите, как вернуть функционал прокси?

.....

Технически это частично можно сделать и на nginx, далеко не в том объеме, как это было сделано на apache - метод CONNECT сделать невозможно, а только браузинг вас не устроит.

Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 31-Май-14 09:07 
>[оверквотинг удален]
>> браузера.
> .....
>> функционал прокси отвалился.
> .....
>> Сейчас нужно его вернуть. Подскажите, как вернуть функционал прокси?
> .....
> Технически это частично можно сделать и на nginx, далеко не в том
> объеме, как это было сделано на apache - метод CONNECT сделать
> невозможно, а только браузинг вас не устроит.
> Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.

Для начала устроил бы и браузинг. Подскажите, как?


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 01-Июн-14 20:07 
>[оверквотинг удален]
>> .....
>>> функционал прокси отвалился.
>> .....
>>> Сейчас нужно его вернуть. Подскажите, как вернуть функционал прокси?
>> .....
>> Технически это частично можно сделать и на nginx, далеко не в том
>> объеме, как это было сделано на apache - метод CONNECT сделать
>> невозможно, а только браузинг вас не устроит.
>> Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.
> Для начала устроил бы и браузинг. Подскажите, как?

Ну как там дела? В гугле не забанили? Нет? Ну тогда ладно: google://nginx%20forward%20proxy


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 17-Июн-14 11:30 
>[оверквотинг удален]
>>> .....
>>>> Сейчас нужно его вернуть. Подскажите, как вернуть функционал прокси?
>>> .....
>>> Технически это частично можно сделать и на nginx, далеко не в том
>>> объеме, как это было сделано на apache - метод CONNECT сделать
>>> невозможно, а только браузинг вас не устроит.
>>> Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.
>> Для начала устроил бы и браузинг. Подскажите, как?
> Ну как там дела? В гугле не забанили? Нет? Ну тогда ладно:
> google://nginx%20forward%20proxy

К сожалению гугл не помог. Работоспособной конфигурации добиться не удалось. Браузер через прокси показывает, что запрашиваемый урл на сайте не найдет. Т.е. нужно, чтобы и сайт работал и через него можно было бы в инет ходить. Подскажите советом пожалуйста.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 17-Июн-14 12:15 
>[оверквотинг удален]
>>>> объеме, как это было сделано на apache - метод CONNECT сделать
>>>> невозможно, а только браузинг вас не устроит.
>>>> Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.
>>> Для начала устроил бы и браузинг. Подскажите, как?
>> Ну как там дела? В гугле не забанили? Нет? Ну тогда ладно:
>> google://nginx%20forward%20proxy
> К сожалению гугл не помог. Работоспособной конфигурации добиться не удалось. Браузер через
> прокси показывает, что запрашиваемый урл на сайте не найдет. Т.е. нужно,
> чтобы и сайт работал и через него можно было бы в
> инет ходить. Подскажите советом пожалуйста.

как был сконфигурирован nginx для достижения вашей цели? Приведите конфиг (блока server будет достаточно).


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 17-Июн-14 13:05 
>[оверквотинг удален]
>>>>> Рекомендую хороший вариант: никак. Ищите другие пути, возможно они есть.
>>>> Для начала устроил бы и браузинг. Подскажите, как?
>>> Ну как там дела? В гугле не забанили? Нет? Ну тогда ладно:
>>> google://nginx%20forward%20proxy
>> К сожалению гугл не помог. Работоспособной конфигурации добиться не удалось. Браузер через
>> прокси показывает, что запрашиваемый урл на сайте не найдет. Т.е. нужно,
>> чтобы и сайт работал и через него можно было бы в
>> инет ходить. Подскажите советом пожалуйста.
> как был сконфигурирован nginx для достижения вашей цели? Приведите конфиг (блока server
> будет достаточно).

server {
      listen       *:80;
      server_name   *.com;
location /nginx_status { stub_status on; access_log off; allow serverip; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_user_file /etc/munin/munin-htpasswd; }
      location / {
            proxy_pass        http://serverip:8181/;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
      }

}

server {
      listen       *:80;
      server_name   www.domain.ru domain.ru;
location /nginx_status { stub_status on; access_log off; allow serverip; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_user_file /etc/munin/munin-htpasswd; }
# proxy_temp_path /var/cache/nginx/domain.ru;

location / {
            proxy_pass        http://serverip:8181;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
proxy_cache one;
proxy_cache_key "$request_method|$is_args|$host|$request_uri";
proxy_hide_header "Set-Cookie";
proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie" "X-Accel-Expires" "X-Accel-Redirect";
# proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Expires" "X-Accel-Redirect";
proxy_cache_valid  200 302  10m;
proxy_cache_valid  404      1m;
proxy_cache_valid  any 10s;
proxy_cache_use_stale http_502 http_503 http_504;
proxy_cache_bypass $cookie_session $http_x_update;
proxy_pass $scheme://$http_host$url$is_args$args;

}


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 17-Июн-14 16:54 
Увы, если "гугл не помог", то и мне помочь нечем.

"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 17-Июн-14 17:24 
> Увы, если "гугл не помог", то и мне помочь нечем.

А зачем тогда нужен был конфиг?
Я нашел пример и попробовал применить его, но не вышло.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 17-Июн-14 23:55 
> А зачем тогда нужен был конфиг?
> Я нашел пример и попробовал применить его, но не вышло.

В приведенном конфиге я не вижу подходящего под исходный вопрос "найденного примера", либо "пример" найден "неверно".


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 18-Июн-14 13:47 
>> А зачем тогда нужен был конфиг?
>> Я нашел пример и попробовал применить его, но не вышло.
> В приведенном конфиге я не вижу подходящего под исходный вопрос "найденного примера",
> либо "пример" найден "неверно".

Был найден вот этот пример http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgr...

А из него взята вот эта строчка
proxy_pass $scheme://$http_host$uri$is_args$args;


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 18-Июн-14 16:15 
> Был найден вот этот пример http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgr...

Да, пример найден верно.

> А из него взята вот эта строчка
> proxy_pass $scheme://$http_host$uri$is_args$args;

Круто. Целая строчка.



"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 18-Июн-14 16:28 
>> Был найден вот этот пример http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgr...
> Да, пример найден верно.
>> А из него взята вот эта строчка
>> proxy_pass $scheme://$http_host$uri$is_args$args;
> Круто. Целая строчка.

Если этого мало, то просто подскажите что я сделал не так?


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 18-Июн-14 20:07 
>>> Был найден вот этот пример http://plonexp.leocorn.com/leocornus/leocornus.buildout.cfgr...
>> Да, пример найден верно.
>>> А из него взята вот эта строчка
>>> proxy_pass $scheme://$http_host$uri$is_args$args;
>> Круто. Целая строчка.
> Если этого мало, то просто подскажите что я сделал не так?

Не пользуетесь [.censored.]

Есть пример по ссылке, который вы нашли. Отлично.

В примере есть некоторое количество строк. Вы взяли _одну_.

Почему вы взяли именно одну эту строчку, почему не взяли какую-то другую, или, например, две строки вместо одной?

Вы детально разобрались с каждой строкой конфига в примере и можете _решать_, что нужно, а что нет? Увы, это не так.

Возьмите конфиг из примера целиком. Только конфиг из примера, других секций server быть не должно. Протестируйте. Получится-не получится... По результатам тестов думайте дальше.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 18-Июн-14 22:07 
>[оверквотинг удален]
> Не пользуетесь [.censored.]
> Есть пример по ссылке, который вы нашли. Отлично.
> В примере есть некоторое количество строк. Вы взяли _одну_.
> Почему вы взяли именно одну эту строчку, почему не взяли какую-то другую,
> или, например, две строки вместо одной?
> Вы детально разобрались с каждой строкой конфига в примере и можете _решать_,
> что нужно, а что нет? Увы, это не так.
> Возьмите конфиг из примера целиком. Только конфиг из примера, других секций server
> быть не должно. Протестируйте. Получится-не получится... По результатам тестов думайте
> дальше.

Потому что экспериментировать на работающем сайте не хочется, а тестового нет.
Взял одну, потому что другие аналогичные уже есть в конфиге.
Вам так трудно подсказать?


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 18-Июн-14 22:30 
> Потому что экспериментировать на работающем сайте не хочется, а тестового нет.

Да, это край как сложно, организовать тестовый сайт.
Вы знаете, есть такие штуки, VPS называются, за пару сотен рублей в месяц можно найти вообще приличные ресурсы и выделенный IP. Может быть тогда и воровать трафик через чужой сайт не нужно будет?

> Взял одну, потому что другие аналогичные уже есть в конфиге.

Как-то не заметно "других аналогичных". Иногда вообще не видно "других", иногда они _не аналогичны_.

> Вам так трудно подсказать?

А оно мне сильно надо, если не надо вам?



"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 18-Июн-14 22:35 
>> Потому что экспериментировать на работающем сайте не хочется, а тестового нет.
> Да, это край как сложно, организовать тестовый сайт.
> Вы знаете, есть такие штуки, VPS называются, за пару сотен рублей в
> месяц можно найти вообще приличные ресурсы и выделенный IP. Может быть
> тогда и воровать трафик через чужой сайт не нужно будет?

Как мне нравятся люди, которые все про всех знают! Вы отвечаете за свои слова?
Я кажется писал, что сайт мой.

>> Взял одну, потому что другие аналогичные уже есть в конфиге.
> Как-то не заметно "других аналогичных". Иногда вообще не видно "других", иногда они
> _не аналогичны_.
>> Вам так трудно подсказать?
> А оно мне сильно надо, если не надо вам?

Думаю больше не о чем разговаривать. Не понимаю, зачем вы вообще в этой теме отвечали...


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 19-Июн-14 01:03 
> Как мне нравятся люди, которые все про всех знают! Вы отвечаете за
> свои слова?
> Я кажется писал, что сайт мой.

Ну если вы не помните, что вы писали, а что нет - то вам надо бы заняться чем-то другим.
Или на листочек записывать, если в голове не держится. Хотя это поможет ненадолго.

> Я кажется писал, что сайт мой.

Ну и что, что "сайт ваш"? Он может и ваш, но может у вас есть договоренность только на размещение сайта, а не на размещение прокси-сервера. Тогда делаем вывод - вы делаете то, что вам не дозволено договоренностью, что есть суть написанное выше. Я не могу себе представить иной ситуации, в которой бы потребовалось сделать описанное вами именно так и только так, как вы хотите сделать.

Если сайт действительно ваш и вам дозволяется размещать там "любые иные сервисы" и разрешено качать через хост любой трафик - тогда всего лишь откройте файрволл - решите организационную проблему организационными, а не техническими, методами.
Этого добиться не сложно, если это не запрещено.

За три месяца можно было найти кучу решений вашей реальной задачи. Организационных,технических, финансовых. Но вы не осилили, увы. И это впечатляет.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено Magi , 19-Июн-14 08:40 
>[оверквотинг удален]
> не дозволено договоренностью, что есть суть написанное выше. Я не могу
> себе представить иной ситуации, в которой бы потребовалось сделать описанное вами
> именно так и только так, как вы хотите сделать.
> Если сайт действительно ваш и вам дозволяется размещать там "любые иные сервисы"
> и разрешено качать через хост любой трафик - тогда всего лишь
> откройте файрволл - решите организационную проблему организационными, а не техническими,
> методами.
> Этого добиться не сложно, если это не запрещено.
> За три месяца можно было найти кучу решений вашей реальной задачи. Организационных,технических,
> финансовых. Но вы не осилили, увы. И это впечатляет.

Файрволл находится на другом сервере и изменение его настроек невозможно.

PS. Попросил помощи... Такого неадеквата в сети еще не видел. Не хотите помогать - промолчите. Хотели показать свое превосходство? Не получилось. В гугл любой послать может, дельный совет - не каждый.


"Связка apache - nginx на сайте в качестве прокси"
Отправлено PavelR , 19-Июн-14 09:42 
> Файрволл находится на другом сервере и изменение его настроек невозможно.
> PS. Попросил помощи... Такого неадеквата в сети еще не видел. Не хотите
> помогать - промолчите. Хотели показать свое превосходство? Не получилось. В гугл
> любой послать может, дельный совет - не каждый.

Не каждый может понять дельный совет. Вот это иногда бывает невозможно, да. А вот изменить настройки файрволла - можно всегда. Если не ставить себе цели, которые находятся под чьим-то запретом.