На данный момент на территории РФ могут возникнуть сложности в использовании зарубежных хостеров, например, Digital Ocean или Vultr. Их IP-адреса большими подсетями фильтруют провайдеры. Но что делать, если у вас на этом хостинге находятся действующие сайты и контент?
Можно, конечно, подключить к серверу дополнительный IP-адрес и привязать домен сайта на него, но не каждый хостер сможет такое организовать, а если и сможет, то очень большая вероятность того, что и новый IP-адрес уже заблокирован, т.к они в большинстве случаев блокируются подсетями.
Поэтому, остается довольно простой вариант – организовать прозрачное проксирование к вашему серверу.
Обычная схема прохождения трафика к вашему сайту не сложная: запросы от вашего браузера через DNS направляются сразу на IP-адрес вашего сервера, и если он заблокирован – ваш провайдер не пропустит его дальше себя.
Но если мы поместим в нашу цепь промежуточный (прокси) сервер, который имеет не заблокированный IP-адрес – то мы сможем дойти через него до конечного сервера с сайтом.
Рассмотрим некоторые простые варианты, использующие эту технологию.
Проксирование с помощью CloudFlare
CloudFlare – это довольно известный DNS/CDN сервис, который любезно предоставит вам бесплатное прозрачное проксирование. Для того, чтобы воспользоваться им нужно просто перенести ваш домен сайта на сервис и настроить его:
Т.к. CloudFlare многие используют для ускорения ваших DNS – промежуточный прокси почти не замедлит доступ к вашему сайту, а в некоторых ситуациях даже ускорит. Существуют и другие подобные сервисы (в том числи сугубо Proxy), но они могут быть не такими гибкими в настройках и стоить дороже.
- Плюсы: Скорость, простота настройки
- Минусы: Нужно переносить домен
Использование Anti-DDoS сервисов
Существующие сервисы защиты от DDOS (DDoS-Guard, Qrator, Project Shield) пропускают весь ваш трафик через свои сервера, и поэтому могут вам помочь с прохождением трафика на ваш сайт. Бонусом будет то, что они защитят ваш сервер от DDOS аттак, но, к сожалению, не бесплатно.
- Плюсы: Защита от DDOS
- Минусы: Большая стоимость
Использование своего прокси-сервера.
Если вы по какой-то причине не можете перенести свой домен на NS CloudFlare и у вас нет денег на Anti-DDOS и прокси сервисы – выход есть. Для этого вам можно подключить системного/сетевого администратора, который вам в силу своего опыта все красиво настроит и пробросит, но если вы хотите все сделать самостоятельно – просто арендуйте VPS у не заблокированного хостера с чистым IP, установите туда Nginx и настройте его по описанию ниже.
Желательно, чтобы ваш прокси-сервер находился поближе к целевому серверу. Подойдет любая VPS с любой ОС, но ниже мы рассмотрим настройку на базе Debian 9.
Подключитесь по SSH к серверу и обновите систему:
apt -y update apt -y dist-upgrade
Установите NGINX:
wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key rm nginx_signing.key echo "deb http://nginx.org/packages/debian/ stretch nginx" >> /etc/apt/sources.list.d/nginx.list echo "deb-src http://nginx.org/packages/debian/ stretch nginx" >> /etc/apt/sources.list.d/nginx.list
Удалите лишние файлы (в текущей роли Nginx они не понадобятся):
rm /etc/nginx/conf.d/*
Теперь вам нужно отредактировать файл с глобальными настройками Nginx:
nano /etc/nginx/nginx.conf
В текстовом редакторе вставьте настройки ниже в конец файла:
stream { server { #http listen 80; proxy_pass IP_REMOTE:80; proxy_timeout 5m; #таймаут между двумя идущими подряд операциями на клиентском соединении или соединении с проксируемым сервером proxy_connect_timeout 5m; #таймаут для установления соединения с проксированным сервером. } server { #https listen 443; proxy_pass IP_REMOTE:443; proxy_timeout 5m; proxy_connect_timeout 5m; } }
где вместо IP_REMOTE вам нужно указать IP сервера, где у вас находится сайт. Чтобы сохранить изменения в файле нажмите Ctrl+X, затем Y и Enter.
Проверьте корректность конфигурации:
nginx -t
Если будет ответ:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
значит ошибок вы не допустили и можно перезагружать Nginx для того, чтобы изменения вступили в силу.
service nginx restart
Теперь вы можете направить домен на IP вашей новой VPS и ваш запрос пойдет сначала на нее, а она перенаправит его уже на ваш сервер с сайтом.
- Плюсы: Свой сервер
- Минусы: Нужно настраивать
Постскриптум
К сожалению меры выше являются временными, т.к. не исключено, что завтра провайдеры не заблокируют вам IP-адреса того же CloudFlare, DDoS-Guard или вашего личного прокси-сервера.