หากคุณไม่ทราบรวบรวม Nginx จากแหล่งที่คุณสามารถติดตั้งngx_http_proxy_connect_module ต่อไปนี้ทำงานสำหรับฉันใน Debian 9 "Stretch" บน Raspberry Pi (หลังจากฉันเพิ่ม URL deb-src ไปยัง /etc/apt/sources.list และทำการอัพเดต 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
จากนั้นแก้ไข/usr/local/nginx/conf/nginx.conf
และทำให้หน้าตาเป็นแบบนี้ (ฉันได้รวมตัวอย่างของโดเมนที่คุณต้องการบล็อกซึ่งทำงานได้กับทั้ง SSL และที่ไม่ใช่ SSL proxying):
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 จะไม่ทำเพื่อคุณอีกต่อไป