|
|
Сайтостроение В этой категории темы о создании сайтов, их раскрутке, скриптах и т.п |
|
Опции темы | Поиск в этой теме |
14.05.2012, 17:02 Вверх | #1 | |||
Коварный тип
|
Как создается прозрачный прокси ?
Пришел уже к такому вот вопросу, основная задача - это создать прозрачный прокси для сайта. Т.е. суть в том что сайт работает на сервере, а клиенты идут на сайт через этот самый прозрачный прокси, который перенаправляет запросы юзера на основной сервер и отдает им ответы. Т.е. по факту юзеры не знаю что сам сайт работает совершенно на другом сервере.
Вот и возник вопрос. Как это чудо настроить. Поиск по тырнету пока результатов не дал... может кто видел мануал по данному делу. |
|||
14.05.2012, 17:36 Вверх | #2 | |||
Коварный тип
|
Нашел что то , но судя по всему малость не то http://www.lissyara.su/articles/freebsd/programms/oops/
|
|||
14.05.2012, 23:27 Вверх | #3 | |||
Знаток
|
Ихвиняюсь за тупость,но нужно сделать что - то вроде перенаправления,чтобы пользователи и поисковики не знали о нём,и видели что сайт на другом сервере?
|
|||
14.05.2012, 23:43 Вверх | #4 | |||
Коварный тип
|
Snickers777, нет. Суть следующая. Берем какой нить сайт с запрещенным в какой либо стране контентом (кино, книги, адалт, варез и т.д. и т.п.). Но знаем что в стране можно купить сверх дешевые выделенные сервера (это я про Германию). Ну так вот, размещаем этот проект на этом сервере и делаем для него прозрачный прокси скажем где нить в Китае. Домен будет указывать на IP прозрачного сервера, при переходе по адресу сайта юзеры попадают на этот прокси, который перенаправляет запрос на сам сервер. Сервер отрабатывает его и отдает прокси, а прокси отдает его юзеру. Т.е. по факту купив в китае дешевый вдс можно держать ресурсоемкие проекты на дешевых серверах. А сами юзеры, так же как и те кто строчит абузы не будут знать фактического местоположения сервера, на котором будет работать сайт. Т.е. по факту при переезде нужно снова купить не дорогой VDS, по быстрому его настроить и перенаправить домен. Так экономится и время и деньги.
Вот и ищу как его правильно настраивать. |
|||
Cказали cпасибо: |
16.05.2012, 21:41 Вверх | #8 | |||
Коварный тип
|
Пока понял что можно сделать на уровне nginx и дали ссылку в тему. Сижу читаю и не могу понять куда смотреть.
http://www.nginx.org/ru/docs/http/ng...xy_module.html Не понятен принцип самой передачи данных. |
|||
16.05.2012, 23:56 Вверх | #9 | |||
Модератор
|
Что-то я дико сомневаюсь в том что то что вы хотите называется "прозрачный прокси", да и вообще вряд-ли это можно назвать прокси. Тут нужен комплекс который будет непроницаемой прослойкой между пользователем и настоящим сайтом. ИМХО для такой работы нужен сервер который будет имитировать защищаемый сайт, обрабатывать запросы пользователя, эти запросы передавать на настоящий сайт, получать ответ, На основе этого ответа динамически изменять имитацию и показывать ее пользователю. Для такой работы нужен очень производительный сервер, по ТТХ в 1.5-2 раза мощнее чем для обычного сайта или форума... Тут банальным проксированием не обойтись. Тут нужен движок посложнее чем сама булка (если мы прячем форум). Это должен быть какой-то сплав булки с ботом...
|
|||
Последний раз редактировалось elvis75; 16.05.2012 в 23:58.. |
||||
17.05.2012, 00:11 Вверх | #10 | |||
Коварный тип
|
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; |
|||
Последний раз редактировалось Serberg; 17.05.2012 в 00:16.. |
||||
17.05.2012, 10:05 Вверх | #11 | |||
Новичок
|
Serberg, Вы правы, именно так, на nginx, можно сделать нужное Вам перенаправление:
В стоке proxy_pass указываете URL другого сервера. Кстати, кеширование в случае перенаправления, тоже не будет лишним. Естественно, если перенаправление делается для сокрытия контента, то нужно выбирать, что кешировать. Есть и другие способы перенаправления, например, с помощью iptables. Но nginx, думаю, удобнее благодаря логам, возможности кешировать и прочим фичам. --- Victor |
|||
Cказали cпасибо: |
17.05.2012, 13:53 Вверх | #12 | |||
Коварный тип
|
Ок. Значит голова все так пока еще способна мыслить. Пока буду думать над этим и попробую поставить эксперимент на реальных серверах... для практики )
На счет кэширования - почитаю, пишут что рассчитывать надо размер указываемого кеша и все такое. Хотя без него мне кажется тоже должно потянуть... хз. |
|||
18.05.2012, 10:13 Вверх | #14 | |||
Новичок
|
Только раз и специально для Вас: _хттп://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 | |||
Коварный тип
|
VGrey, я особо ничем не владею, экспериментирую и шагаю в направлении котором указали. Указали на прокси nginx - почитал, поковырял. Закажу пару vds и поставлю эксперимент... )
Кстати вопросик, если к примеру апач будет работать на сервере http://99.99.99.99:8531/; , т.е. при обращении на этот IP и на данный порт - загрузится сайт... как можно сделать чтобы он грузился только для IP сервера на котором находится nginx ? Можно конечно отмочить дэни фром алл в htaccess сайта с разрешением 1 IP, но это наверно не совсем правильно... Или в целом все равно ? |
|||
18.05.2012, 11:17 Вверх | #17 | |||
Новичок
|
В целом - правильно, но несколько не оптимально, не царское это дело ip-адреса проверять (не апача). А вот ограничить в фарволе, что бы ip:порт были апача доступны только с сервера, на котором nginx, и не сложнее, и ресурсов будет тратится меньше.
--- Добавлено через 28 минут 43 секунды 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 Host $host; --- |
|||
Последний раз редактировалось VGrey; 18.05.2012 в 15:24.. |
||||
Cказали cпасибо: |
18.05.2012, 13:59 Вверх | #18 | |||
Коварный тип
|
Вот эти две строчки не понятны. В моем случае я так понимаю что они буду не нужны.
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 | |||
Новичок
|
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; } --- |
|||
2 пользователя(ей) сказали cпасибо: |