Инструменты пользователя

Инструменты сайта


setup_proxy

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
setup_proxy [13.02.2017 13:55]
phantom [Настройка sniproxy]
setup_proxy [13.07.2017 17:26] (текущий)
phantom [Настройка proxy сервера]
Строка 2: Строка 2:
  
 **Настройка proxy сервера необходима только если используется вариант "proxy у оператора"​.** **Настройка proxy сервера необходима только если используется вариант "proxy у оператора"​.**
 +
 +**Начальную настройку и тестирование работы proxy сервера,​ как правило,​ осуществляют наши специалисты.**
 +
 +**Примеры конфигурации,​ приведенные ниже, являются лишь примерами. Конфигурация proxy сервера может отличаться в ту или иную сторону в зависимости от специфики клиента.**
 +
 +**Обновления и рекомендации для конфигурации proxy сервера публикуются в нашей рассылке,​ которую получают технические специалисты (контакты) указанные в Личном Кабинете.**
 +
  
 ===== Подготовка ===== ===== Подготовка =====
Строка 28: Строка 35:
 <​code>​ <​code>​
 # Перенаправлять HTTP трафик для сетей из списка полной блокировки на отдельный виртуальный сервер # Перенаправлять HTTP трафик для сетей из списка полной блокировки на отдельный виртуальный сервер
-iptables -t nat -A PREROUTING -i eth0 -m set --match-set BLOCK-IP dst -p tcp --dport 80 -j REDIRECT --to-port ​8000+iptables -t nat -A PREROUTING -i eth0 -m set --match-set BLOCK-IP dst -p tcp --dport 80 -j REDIRECT --to-port ​9000
  
 # Перенаправлять HTTP трафик для пар IP:PORT подлежащих блокировке на отдельный виртуальный сервер ​ # Перенаправлять HTTP трафик для пар IP:PORT подлежащих блокировке на отдельный виртуальный сервер ​
-iptables -t nat -A PREROUTING -i eth0 -p tcp -m set --match-set CUSTOM-IP-PORT dst,dst -j REDIRECT --to-port ​8000+iptables -t nat -A PREROUTING -i eth0 -p tcp -m set --match-set CUSTOM-IP-PORT dst,dst -j REDIRECT --to-port ​9000
  
 # Перенаправлять весь HTTP/HTTPS трафик на локальный порт # Перенаправлять весь HTTP/HTTPS трафик на локальный порт
Строка 50: Строка 57:
 ===== Настройка nginx ===== ===== Настройка nginx =====
  
-Мы рекомендуем использовать nginx с поддержкой lua. Ссылки на готовые пакеты находятся в конце текущего раздела.+Мы рекомендуем использовать nginx с поддержкой lua и headers_more. Ссылки на готовые пакеты находятся в конце текущего раздела.
  
-Настройки ​DNS резолвера (необходимо использовать DNS сервера без RPZ+DNS резолвер должен ​использовать DNS сервера без RPZ.
- +
-<​code>​ +
-resolver ​         8.8.8.8 8.8.4.4; +
-resolver_timeout ​ 5s; +
-</​code>​ +
- +
-Конфигурация основного виртуального сервера:​ +
- +
-<​code>​ +
-server { +
-        listen 0.0.0.0; +
-        server_name ~^.*$; +
- +
-        access_log /​var/​log/​nginx/​proxy_access_log main; +
-        error_log /​var/​log/​nginx/​proxy_error_log debug; +
- +
-        root /​var/​www/​cyberfilter;​ +
- +
-        error_page 404 = @check; +
- +
- location / { +
- internal;​ +
- recursive_error_pages on; +
-+
-  +
- location /​redirects/​block/​ { +
-     internal; +
-     set $action "​block";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 503 =503 /​pages/​block.html;​ +
-     return 503; +
-+
- +
- location /​redirects/​unknown/​ { +
-     internal; +
-     set $action "​unknown";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 503 =503 /​pages/​block.html;​ +
-     return 503; +
-+
- +
- location /​redirects/​denied/​ { +
-     internal; +
-     set $action "​denied";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 403 =403 /​pages/​denied.html;​ +
-     return 403; +
-+
- +
- location /​redirects/​error/​ { +
-     internal; +
-     set $action "​error";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 500 =500 /​pages/​error.html;​ +
-     return 500; +
-+
- +
- location /​redirects/​notfound/​ { +
-     internal; +
-     set $action "​notfound";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 404 =404 /​pages/​notfound.html;​ +
-     return 404; +
-+
- +
- location /​redirects/​config/​ { +
-     internal; +
-     set $action "​config";​ +
-                    set $check_type $upstream_http_x_check_type;​ +
-                    set $unique_id $upstream_http_x_unique_id;​ +
-                    set $target_ip $upstream_http_x_target_ip;​ +
-     recursive_error_pages on; +
-     error_page 500 =500 /​pages/​config.html;​ +
-     return 500; +
-+
- +
- location /​redirects/​proxy/​ { +
-     internal; +
-     set $action "​proxy";​ +
-                    set $check_type ​    ​$upstream_http_x_check_type;​ +
-                    set $unique_id ​     $upstream_http_x_unique_id;​ +
-                    set $target_ip ​     $upstream_http_x_target_ip;​ +
-     proxy_pass http://​$host$request_uri;​ +
-     proxy_buffering off;​ +
-     proxy_cache off;​ +
-     proxy_set_header Host $host; +
-     proxy_http_version 1.1;​ +
-+
- +
- location @check { +
-     set $action "​error";​ +
-                    set $check_type ​    "​api";​ +
-                    set $unique_id ​     "​${pid}-${connection}-${msec}";​ +
-                    set $target_ip ​     "";​ +
-                    proxy_pass ​         http://​api-proxy.cyberfilter.ru$request_uri;​ +
-                    proxy_buffering ​    ​off;​ +
-                    proxy_cache ​        ​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;​ +
-                    proxy_set_header ​   X-Request-Id $unique_id;​ +
- +
-                    proxy_set_header ​   Content-Length "";​ +
-                    proxy_pass_request_body off; +
-                } +
-        } +
-</​code>​ +
- +
-Конфигурация дополнительного (для запросов на сети с полной блокировкой и порты отличные от HTTP/HTTPS) виртуального сервера:​ +
- +
-<​code>​ +
-server { +
-        listen 0.0.0.0:​8000;​ +
-        server_name ~^.*$; +
- +
-        access_log /​var/​log/​nginx/​block_access_log main; +
-        error_log /​var/​log/​nginx/​block_error_log debug; +
- +
-        root /​var/​www/​cyberfilter;​ +
- +
-        error_page 404 = @block; +
- +
-        location / { +
-                internal; +
-                recursive_error_pages on; +
-                } +
- +
-        location @block { +
-                set $action ​        "​block";​ +
-                set $check_type ​    "​network";​ +
-                set $unique_id ​     "​${pid}-${connection}-${msec}";​ +
-                set $target_ip ​     "";​ +
-  +
-                error_page 503 =503 /​pages/​block.html;​ +
-                return 503; +
-+
-        } +
-</​code>​ +
- +
-Дополнительное логирование:​ +
- +
-<​code>​ +
-log_format main +
- '​$remote_addr - $remote_user [$time_local] ' +
- '"​$unique_id"​ "​$check_type"​ "​$action"​ "​$target_ip"​ ' +
- '"​$host"​ "​$request"​ $status $bytes_sent ' +
- '"​$http_referer"​ "​$http_user_agent"​ ' +
- '"​$gzip_ratio"';​ +
-</​code>​+
  
-Далее необходимо в каталоге /​var/​www/​cyberfilter/​pages/​ разместить страницы с сообщениями для пользователей:​+В каталоге /​var/​www/​cyberfilter/​pages/ ​необходимо ​разместить страницы с сообщениями для пользователей:​
  
   * block.html - водится при попытке доступа на запрещенный ресурс   * block.html - водится при попытке доступа на запрещенный ресурс
Строка 227: Строка 70:
  
 Архив с настройками и со страницами сообщений:​ {{:​proxy_config.tgz|}}\\ Архив с настройками и со страницами сообщений:​ {{:​proxy_config.tgz|}}\\
-Готовый RPM nginx 1.10.3 для CentOS7 с поддержкой lua: {{:​nginx-1.10.3-1.el7.centos.ngx.x86_64.rpm|}}+Готовый RPM nginx 1.10.3 для CentOS7 с поддержкой lua и headers_more: {{:​nginx-1.10.3-1.el7.centos.ngx.x86_64.rpm|}}
  
 ===== Настройка sniproxy ===== ===== Настройка sniproxy =====
Строка 278: Строка 121:
  
 Готовый ebuild для Gentoo Linux: {{:​sniproxy-0.3.6-r1.ebuild.tgz|}} (USE="​cyberfilter"​)\\ Готовый ebuild для Gentoo Linux: {{:​sniproxy-0.3.6-r1.ebuild.tgz|}} (USE="​cyberfilter"​)\\
-Готовый RPM для ​CentOS 7: {{:​sniproxy-0.3.6-1.el7.centos.x86_64.rpm}}+Готовый RPM для ​CentOS7: {{:​sniproxy-0.3.6-1.el7.centos.x86_64.rpm}} и необходимый для него udns: {{:​udns-0.4-3.el7.x86_64.rpm|}}
setup_proxy.1486979736.txt.gz · Последние изменения: 13.02.2017 13:55 — phantom

Инструменты страницы