Якщо ви не проти компілювати nginx з джерела, ви можете встановити ngx_http_proxy_connect_module . Наступне працювало для мене в Debian 9 "Stretch" на Raspberry Pi (після того, як я додав deb-src URL-адреси до /etc/apt/sources.list і зробив apt-get update):
cd /tmp &&
apt-get source nginx &&
git clone https://github.com/chobits/ngx_http_proxy_connect_module &&
cd nginx-* &&
patch -p1 < ../ngx_http_proxy_connect_module/proxy_connect.patch &&
sudo apt-get install libpcre3-dev &&
./configure --add-module=/tmp/ngx_http_proxy_connect_module &&
make && sudo make install
Потім відредагуйте /usr/local/nginx/conf/nginx.conf
та зробіть це таким чином (я включив приклад доменів, які ви хочете заблокувати, який працює як з SSL, так і з не-SSL-проксі):
user www-data;
worker_processes auto;
events { }
http {
server_names_hash_bucket_size 128;
server {
listen 8888;
server_name spam.example.com *.spam.example.com;
server_name spam2.example.com *.spam2.example.com;
access_log off;
return 404;
}
server {
listen 8888;
server_name ~.+;
proxy_connect;
proxy_max_temp_file_size 0;
resolver 8.8.8.8;
location / {
proxy_pass http://$http_host;
proxy_set_header Host $http_host;
}
}
}
Потім бігайте /usr/local/nginx/sbin/nginx
. Він буде цілком радісно співіснувати з nginx
пакетом акцій Debian, якщо ви також запускаєте виробничий веб-сервер на порт 80 і не хочете ризикувати зіткнутися з цим (але обов'язково запускайте /usr/local
версію окремо під час завантаження); в іншому випадку, з більшою конфігурацією ви можете запустити обидва сервіси з nginx, який ви склали. Але якщо ви встановите збірний nginx для роботи на порту, на який ваш брандмауер дозволяє здійснювати трафік, будьте обережні, вам доведеться перевірити оновлення безпеки nginx вручну, оскільки система пакунків Debian більше не буде робити це для вас.