Автор оригинала: Alex Polymath.
Предисловие
Несколько месяцев назад я создал Nginx Настроен, который перенаправлен Каждый запрос Для случайного прокси из списка. Эта функция была реализована чисто внутри Nginx Config с плагином JavaScript. Позвольте мне показать вам, как начать с самого nginxscript и внедрять простую функцию, такую как Randomizer внутри конфигурации. Эта настройка была установлена на Ubuntu 16.04.
Установка Nginx & NgInscript
Шаг 1
sudo apt-get update wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
Шаг 2
Добавить в конец файла/etc/apt/sources.list
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Шаг 3
sudo apt-get update sudo apt-get install nginx sudo apt-get install nginx-module-njs
Процесс установки завершен.
Настройка конфигурации
Шаг 1
Создать Script.js Файл внутри /etc/nginx/ Папка И поместите этот код внутри него.
var list = [ "201.140.132.34:8080", "50.233.137.34:80", "204.52.206.65:8080", "75.114.77.38:8080", "50.233.137.33:80", "52.8.41.246:3128", "198.50.168.210:80", "173.192.21.89:80", "75.114.77.35:8080", "206.81.5.117:8080" ] function random(){ var index = Math.floor(list.length * Math.random()); return list[index]; }
Шаг 2 Теперь дайте модифицируйте /etc/nginx/nginx.conf Поместите следующий код там.
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; load_module modules/ngx_http_js_module.so; load_module modules/ngx_stream_js_module.so; events { worker_connections 1024; } stream { js_include script.js; js_set $proxy random; server { listen 53; proxy_responses 1; proxy_timeout 20s; proxy_pass $proxy; } } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; # #include /etc/nginx/conf.d/*.conf; }
В основном это это. Все сделано. Просто запустите это команда :
sudo service nginx restart
И последние изменения будут применены.
ПРИМЕЧАНИЕ!
Я взял список публичных прокси. Но они не являются супер стабильными. Вот почему мне нужно было часто следить за каждым из них и обновлять список доступных. Это было реализовано с Python и Bash Сценарий Отказ
Если кто-то нужен такой, как это, просто пинг меня в личном сообщении.
Алекс Полимат