Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > Сайтостроение
Расширенный поиск

Сайтостроение В этой категории темы о создании сайтов, их раскрутке, скриптах и т.п

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 17:02 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Вопрос Как создается прозрачный прокси ?

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

Вот и возник вопрос. Как это чудо настроить. Поиск по тырнету пока результатов не дал... может кто видел мануал по данному делу.
  Ответить с цитированием
Старый 14.05.2012, 17:36 Вверх   #2
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Нашел что то , но судя по всему малость не то http://www.lissyara.su/articles/freebsd/programms/oops/
  Ответить с цитированием
Старый 14.05.2012, 23:27 Вверх   #3
Знаток
 
Аватар для Snickers777
Snickers777 вне форума
Доп. информация
По умолчанию

Ихвиняюсь за тупость,но нужно сделать что - то вроде перенаправления,чтобы пользователи и поисковики не знали о нём,и видели что сайт на другом сервере?
  Ответить с цитированием
Старый 14.05.2012, 23:43 Вверх   #4
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Snickers777, нет. Суть следующая. Берем какой нить сайт с запрещенным в какой либо стране контентом (кино, книги, адалт, варез и т.д. и т.п.). Но знаем что в стране можно купить сверх дешевые выделенные сервера (это я про Германию). Ну так вот, размещаем этот проект на этом сервере и делаем для него прозрачный прокси скажем где нить в Китае. Домен будет указывать на IP прозрачного сервера, при переходе по адресу сайта юзеры попадают на этот прокси, который перенаправляет запрос на сам сервер. Сервер отрабатывает его и отдает прокси, а прокси отдает его юзеру. Т.е. по факту купив в китае дешевый вдс можно держать ресурсоемкие проекты на дешевых серверах. А сами юзеры, так же как и те кто строчит абузы не будут знать фактического местоположения сервера, на котором будет работать сайт. Т.е. по факту при переезде нужно снова купить не дорогой VDS, по быстрому его настроить и перенаправить домен. Так экономится и время и деньги.

Вот и ищу как его правильно настраивать.
  Ответить с цитированием
Cказали cпасибо:
Старый 15.05.2012, 00:12 Вверх   #5
Знаток
 
Аватар для Snickers777
Snickers777 вне форума
Доп. информация
По умолчанию

Serberg, Идея классная,а всё это дело могут пропалить?
И если пропалят,то ресурс всё равно закроют?
  Ответить с цитированием
Старый 15.05.2012, 01:41 Вверх   #6
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Snickers777 Посмотреть сообщение
Serberg, Идея классная,а всё это дело могут пропалить?
Пропалить не смогут. Ибо внешне юзерам будет казаться что сайт пашет на этом VDS. Хотя фактически он будет на сервере. Раскопать истину могут в случае если VDS заберут и начнут вникать в его конфиграцию, но такова обычно не делают.
  Ответить с цитированием
Старый 16.05.2012, 21:37 Вверх   #7
Знаток
 
Аватар для Snickers777
Snickers777 вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Serberg Посмотреть сообщение
Пропалить не смогут. Ибо внешне юзерам будет казаться что сайт пашет на этом VDS. Хотя фактически он будет на сервере. Раскопать истину могут в случае если VDS заберут и начнут вникать в его конфиграцию, но такова обычно не делают.
Понятно.
Оффтоп
  Ответить с цитированием
Старый 16.05.2012, 21:41 Вверх   #8
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Snickers777 Посмотреть сообщение
Как там,есть успехи?
Пока понял что можно сделать на уровне nginx и дали ссылку в тему. Сижу читаю и не могу понять куда смотреть.
http://www.nginx.org/ru/docs/http/ng...xy_module.html
Не понятен принцип самой передачи данных.
  Ответить с цитированием
Старый 16.05.2012, 23:56 Вверх   #9
Модератор
 
Аватар для elvis75
elvis75 вне форума
Доп. информация
По умолчанию

Что-то я дико сомневаюсь в том что то что вы хотите называется "прозрачный прокси", да и вообще вряд-ли это можно назвать прокси. Тут нужен комплекс который будет непроницаемой прослойкой между пользователем и настоящим сайтом. ИМХО для такой работы нужен сервер который будет имитировать защищаемый сайт, обрабатывать запросы пользователя, эти запросы передавать на настоящий сайт, получать ответ, На основе этого ответа динамически изменять имитацию и показывать ее пользователю. Для такой работы нужен очень производительный сервер, по ТТХ в 1.5-2 раза мощнее чем для обычного сайта или форума... Тут банальным проксированием не обойтись. Тут нужен движок посложнее чем сама булка (если мы прячем форум). Это должен быть какой-то сплав булки с ботом...

Последний раз редактировалось elvis75; 16.05.2012 в 23:58..
  Ответить с цитированием
Старый 17.05.2012, 00:11 Вверх   #10
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

elvis75, да дело не в булке. Прокси будет заниматься только перенаправлением запросов, а связи с тем что он будет работать на чистом nginx без всего, то ресурсы практически не понадобятся.

Сижу читаю документацию и начинаю понимать что строить надо просто прокси, т.е. по факту ставлю на сервер голый nginx, он принимать запросы от пользователей. И настраивать его не как кэширующий сервер отдающий статику, а просто как сервер отдающий все апачу включая статику. Дальше в конфиге нгинкса указать сервер апача как не локальный, а IP и порт на котором он будет слушать наш прокси. Т.е. по факту настраивается конфиг как apache+nginx, только оба сервиса будут работать на разных серверах. А юзер будет конектиться и получать ответы от nginx сервера, который будет забирать ответы апача.

Другого варианта построения прокси пока не вижу, если верить тому что он строиться по данной документации. Надо будет проверить все это на деле при возможности.

Вот статья о настройке apache+nginx http://wiki.rnet.ru/index.php/Ускоре...ью_nginx_proxy . В конфиге nginx есть параметры:

#
# Proxy all remaining content to Apache
#
location / {

proxy_pass http://127.0.0.1:8080/;
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;
Я так понимаю тут: proxy_pass http://127.0.0.1:8080/; указывается IP и порт сервера с апачем. Вот и все )

Последний раз редактировалось Serberg; 17.05.2012 в 00:16..
  Ответить с цитированием
Старый 17.05.2012, 10:05 Вверх   #11
Новичок
 
Аватар для VGrey
VGrey вне форума
Доп. информация
По умолчанию

Serberg, Вы правы, именно так, на nginx, можно сделать нужное Вам перенаправление:
В стоке proxy_pass указываете URL другого сервера.
Кстати, кеширование в случае перенаправления, тоже не будет лишним. Естественно, если перенаправление делается для сокрытия контента, то нужно выбирать, что кешировать.
Есть и другие способы перенаправления, например, с помощью iptables. Но nginx, думаю, удобнее благодаря логам, возможности кешировать и прочим фичам.

---
Victor
  Ответить с цитированием
Cказали cпасибо:
Старый 17.05.2012, 13:53 Вверх   #12
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от VGrey Посмотреть сообщение
Serberg, Вы правы, именно так, на nginx, можно сделать нужное Вам перенаправление:
В стоке proxy_pass указываете URL другого сервера.
Кстати, кеширование в случае перенаправления, тоже не будет лишним. Естественно, если перенаправление делается для сокрытия контента, то нужно выбирать, что кешировать.
Ок. Значит голова все так пока еще способна мыслить. Пока буду думать над этим и попробую поставить эксперимент на реальных серверах... для практики )

На счет кэширования - почитаю, пишут что рассчитывать надо размер указываемого кеша и все такое. Хотя без него мне кажется тоже должно потянуть... хз.
  Ответить с цитированием
Старый 17.05.2012, 19:01 Вверх   #13
Fedoraвод
 
Аватар для Злой
Злой вне форума
Доп. информация
По умолчанию

Самое интересное что весь нужный для решения поставленной задачи функционал можно обеспечить одной строкой на php...
  Ответить с цитированием
Старый 18.05.2012, 10:13 Вверх   #14
Новичок
 
Аватар для VGrey
VGrey вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Serberg Посмотреть сообщение
Ок. Значит голова все так пока еще способна мыслить. Пока буду думать над этим и попробую поставить эксперимент на реальных серверах... для практики )

На счет кэширования - почитаю, пишут что рассчитывать надо размер указываемого кеша и все такое. Хотя без него мне кажется тоже должно потянуть... хз.
Только раз и специально для Вас: _хттп://forum[dot]fototour[dot]su, (над урлом извратился что бы поисковики не нашли зеркало) :).
Настроена подмена: Host на www.bormotuhi.net, и X-Real-IP на мой.
Настроен кеш для статики.

Естественно, что посмотрели и уберу. Особо не извращался, редиректы не обрабатывал, так что иногда уходит на о оригинальный сайт.

Могу показать конфиг, тут или в личку-почту.

---

Последний раз редактировалось Serberg; 18.05.2012 в 10:36..
  Ответить с цитированием
Cказали cпасибо:
Старый 18.05.2012, 10:33 Вверх   #15
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

VGrey, я особо ничем не владею, экспериментирую и шагаю в направлении котором указали. Указали на прокси nginx - почитал, поковырял. Закажу пару vds и поставлю эксперимент... )

Кстати вопросик, если к примеру апач будет работать на сервере http://99.99.99.99:8531/; , т.е. при обращении на этот IP и на данный порт - загрузится сайт... как можно сделать чтобы он грузился только для IP сервера на котором находится nginx ? Можно конечно отмочить дэни фром алл в htaccess сайта с разрешением 1 IP, но это наверно не совсем правильно... Или в целом все равно ?
  Ответить с цитированием
Старый 18.05.2012, 10:40 Вверх   #16
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Цитата Сообщение от VGrey Посмотреть сообщение
Только раз и специально для Вас: _хттп://forum[dot]fototour[dot]su, (над урлом извратился что бы поисковики не нашли зеркало) :).
Настроена подмена: Host на www.bormotuhi.net, и X-Real-IP на мой.
Спасибо.

Цитата Сообщение от VGrey Посмотреть сообщение
Могу показать конфиг, тут или в личку-почту.
Был бы очень благодарен за конфиг, интересно в него глянуть.
  Ответить с цитированием
Старый 18.05.2012, 11:17 Вверх   #17
Новичок
 
Аватар для VGrey
VGrey вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Serberg Посмотреть сообщение
VGrey
Кстати вопросик, если к примеру апач будет работать на сервере http://99.99.99.99:8531/; , т.е. при обращении на этот IP и на данный порт - загрузится сайт... как можно сделать чтобы он грузился только для IP сервера на котором находится nginx ? Можно конечно отмочить дэни фром алл в htaccess сайта с разрешением 1 IP, но это наверно не совсем правильно... Или в целом все равно ?
В целом - правильно, но несколько не оптимально, не царское это дело ip-адреса проверять (не апача). А вот ограничить в фарволе, что бы ip:порт были апача доступны только с сервера, на котором nginx, и не сложнее, и ресурсов будет тратится меньше.

---

Добавлено через 28 минут 43 секунды

Цитата Сообщение от Serberg Посмотреть сообщение
Был бы очень благодарен за конфиг, интересно в него глянуть.
nginx.conf:
Код:
worker_processes  2;
...
http {
   ...
   proxy_cache_path    /usr/nginxcache1 levels= keys_zone=ch1:32m;
   ...
   server {
      listen 80;
      server_name www.где_отвечает_nginx;
      
      location / {
         proxy_pass http://ip-апача:порт/;
         proxy_redirect off;
         proxy_set_header Host www.который_подменяем;
         proxy_set_header X-Real-IP $remote_addr;
      }

      location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|flv|exe|pdf)$ {
         proxy_pass http://ip-апача:порт/;
         proxy_redirect off;
         proxy_set_header Host www.который_подменяем;
         proxy_set_header X-Real-IP $remote_addr;

         proxy_cache ch1;
         proxy_cache_valid 200 301 302 304 15m;
         proxy_cache_key $host$uri?$args;
         proxy_ignore_headers "Cache-Control" "Expires";
         proxy_cache_bypass $arg_option;
      }
   }
}
Вам, конечно-же, подменять proxy_set_header надобности не будет. У Вас будет:
Код:
proxy_set_header  Host  $host;
Вопрос о кешировании статики - спорный, нужны дополнительные опыты, что бы убедится, что это эффективно.

---

Последний раз редактировалось VGrey; 18.05.2012 в 15:24..
  Ответить с цитированием
Cказали cпасибо:
Старый 18.05.2012, 13:59 Вверх   #18
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Вот эти две строчки не понятны. В моем случае я так понимаю что они буду не нужны.

proxy_set_header Host www.который_подменяем;
proxy_set_header X-Real-IP наш_ip;

Т.е. в текущем случае тут:
proxy_set_header Host www.bormotuhi.net;
proxy_set_header X-Real-IP наш_ip;

X-Real-IP - это функция передачи IP клиента апачу как я понял.

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

proxy_set_header Host http://99.99.99.99:8531;
  Ответить с цитированием
Старый 18.05.2012, 15:21 Вверх   #19
Новичок
 
Аватар для VGrey
VGrey вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Serberg Посмотреть сообщение

X-Real-IP - это функция передачи IP клиента апачу как я понял.

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

proxy_set_header Host http://99.99.99.99:8531;
X-Real-IP - нужен только для передачи апачу реального ip клиента, что бы в логах правильно отображалось. В Вашем случае, локейшин должен выглядеть так:

Код:
      location / {
         proxy_pass http://99.99.99.99:8531/;
         proxy_redirect off;
         proxy_set_header Host $host;;
         proxy_set_header X-Real-IP $remote_addr;
      }
Все. То есть, если не нужна подмена url, а для Вашей задачи она не нужна, вполне достаточно указать proxy_pass http://99.99.99.99:8531/; и у Вас все заработает.

---
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:20. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.21286 секунды с 13 запросами