The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Nginx - Apache, как сделать из связки прокси?, !*! Magi, 09-Мрт-13, 02:04  [смотреть все]
Здравствуйте!
Подскажите пожалуйста, когда стоял просто 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.
Теперь прокси перестал работать.
Как можно вернуть этот функционал?
Ниже конфиг nginx

# user nginx;
worker_processes  4;
# error_log  /dev/null;
error_log  /usr/local/nginx/logs/error.log  notice;
#pid        logs/nginx.pid;
worker_rlimit_nofile 500000;
worker_priority -5;
events { worker_connections  200000; 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;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;
    gzip           on;
    keepalive_timeout  0;
    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=10>
proxy_temp_path /var/cache/nginx/temp;

server {
      listen       *:80;
      server_name   *.com;
location /nginx_status { stub_status on; access_log off; allow 195.34.232.172; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_>
      location / {
            proxy_pass        http://195.34.232.172: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.recipe.ru recipe.ru;
location /nginx_status { stub_status on; access_log off; allow 195.34.232.172; deny all; }
location /munin { alias   /var/www/html/munin; autoindex on; auth_basic "Munin"; auth_basic_>
# proxy_temp_path /var/cache/nginx/recipe.ru;

location / {
            proxy_pass        http://195.34.232.172: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-Redir>
# 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;

}

# location /administrator {
location ~*(administrator|comprofiler)* {
         proxy_cache off;
         proxy_pass        http://195.34.232.172: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;

}

}
}

  • Nginx - Apache, как сделать из связки прокси?, !*! erera22, 14:55 , 11-Мрт-13 (1)
    • Nginx - Apache, как сделать из связки прокси?, !*! Magi, 15:22 , 11-Мрт-13 (2)
      > Из Вашего поста вообще не понятно что и куда Вы хотите проксировать.
      > Простейший случай:

      В общем нужно чтобы с клиентского компьютера, указав в браузере IP:порт можно было бы выйти в инет через связку apache -> nginx.

      • Nginx - Apache, как сделать из связки прокси?, !*! erera22, 16:15 , 11-Мрт-13 (3)
        • Nginx - Apache, как сделать из связки прокси?, !*! Magi, 17:06 , 11-Мрт-13 (4)
          >[оверквотинг удален]
          >    resolver   8.8.8.8;
          >    location / {
          >       proxy_pass      
          > http://$host:80;
          >       proxy_redirect  off;
          >       proxy_set_header   Host $host;
          >    }
          > }
          > Соответственно в браузер пишем addr:80. Получаем прокси из nginx для 80 порта.
          > По необходимости добавляем прочие.

          Добавил модифицированные под меня эти строки в конец файла конфигурации

          У меня написал ошибку
          nginx: [emerg] "server" directive is not allowed here in /conf/nginx.conf:87

          Может быть нужно встроить их куда-то выше?

          • Nginx - Apache, как сделать из связки прокси?, !*! erera22, 18:40 , 11-Мрт-13 (5)
            • Nginx - Apache, как сделать из связки прокси?, !*! Magi, 03:12 , 31-Май-14 (6)
              >[оверквотинг удален]
              > название домена, который мы хотим видеть
              >       proxy_set_header Host $host;
              >       # так как нам не надо
              > показывать адреса, которые запрашивают информацию,
              >       # то указываем, что не надо
              > менять location/refresh и
              >       # завершаем location
              >       proxy_redirect off;
              >    }
              > }

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





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру