Jika Anda tidak keberatan mengkompilasi nginx dari sumber, Anda dapat menginstal ngx_http_proxy_connect_module . Berikut ini bekerja untuk saya di Debian 9 "Peregangan" pada Raspberry Pi (setelah saya menambahkan URL deb-src ke /etc/apt/sources.list dan lakukan pembaruan apt-get):
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
Kemudian edit /usr/local/nginx/conf/nginx.conf
dan buat tampilannya seperti ini (saya telah menyertakan contoh domain yang ingin Anda blokir, yang berfungsi baik dengan proxy SSL dan non-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;
}
}
}
Kemudian jalankan /usr/local/nginx/sbin/nginx
. Ini akan dengan senang hati hidup berdampingan dengan nginx
paket stok Debian jika Anda juga menjalankan server web produksi pada port 80 dan tidak ingin mengambil risiko mengacaukannya (tapi pastikan untuk memulai /usr/local
versi secara terpisah saat boot); sebagai alternatif, dengan lebih banyak konfigurasi, Anda dapat menjalankan kedua layanan dari nginx yang telah Anda kompilasi. Tetapi jika Anda mengatur nginx yang dikompilasi untuk dijalankan pada port yang memungkinkan firewall Anda untuk lalu lintas, berhati-hatilah Anda harus memeriksa secara manual untuk pembaruan keamanan nginx karena sistem paket Debian tidak lagi akan melakukannya untuk Anda.