Score:0

Cloudflare ต่อหน้า Nginx Reverse - เปลี่ยนเส้นทางผู้ใช้ด้วย IP บางอย่างไปยังหน้าพิเศษ

ธง gr

ฉันใช้ nginx reverse proxy ที่หน้าหน้าเว็บ ด้านหน้าของพร็อกซีย้อนกลับ nginx นี้ยังเรียกใช้พร็อกซีย้อนกลับของ cloudflare

ตอนนี้ฉันกำลังพยายามเปลี่ยนเส้นทางผู้ใช้ที่มีที่อยู่ IP ไปยังหน้าเว็บพิเศษ ฉันกำลังพยายามทำสิ่งนี้จากพร็อกซีย้อนกลับ nginx โดยไม่มีโชค :/

nginx.conf

    ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;
ผู้ปฏิบัติงาน_rlimit_nofile 30000;

เหตุการณ์ {
    worker_connections 2048;
    # multi_accept บน;
}

http {

    ##
    # การตั้งค่าพื้นฐาน
    ##

    ส่งไฟล์บน;
    tcp_nopush บน;
    tcp_nodelay บน;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # ปิด server_tokens;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect ปิด;

    รวม /etc/nginx/mime.types;
    แอปพลิเคชัน default_type/octet-stream;

    ##
    # การตั้งค่า SSL
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
    เปิด ssl_prefer_server_ciphers;

    ##
    # การตั้งค่าการบันทึก
    ##

    access_log off;
    error_log /var/log/nginx/error.log;

    ##
    # การตั้งค่า Gzip
    ##

    เปิด gzip;

    # gzip_vary บน;
    # gzip_proxyed ใด ๆ ;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types ข้อความ/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;

    ##
    # การกำหนดค่าโฮสต์เสมือน
    ##

    รวม /etc/nginx/conf.d/*.conf;
    รวม /etc/nginx/sites-enabled/*;

set_real_ip_ จาก 103.21.244.0/22;
set_real_ip_ จาก 103.22.200.0/22;
set_real_ip_ จาก 103.31.4.0/22;
set_real_ip_ จาก 104.16.0.0/12;
set_real_ip_ จาก 108.162.192.0/18;
set_real_ip_ จาก 131.0.72.0/22;
set_real_ip_ จาก 141.101.64.0/18;
set_real_ip_ จาก 162.158.0.0/15;
set_real_ip_ จาก 172.64.0.0/13;
set_real_ip_ จาก 173.245.48.0/20;
set_real_ip_ จาก 188.114.96.0/20;
set_real_ip_ จาก 190.93.240.0/20;
set_real_ip_ จาก 197.234.240.0/22;
set_real_ip_ จาก 198.41.128.0/17;
set_real_ip_ จาก 2400:cb00::/32;
set_real_ip_ จาก 2606:4700::/32;
set_real_ip_จาก 2803:f800::/32;
set_real_ip_ จาก 2405:b500::/32;
set_real_ip_ จาก 2405:8100::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_ จาก 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;

เซิร์ฟเวอร์ {
    ถ้า ($remote_addr = 1.2.3.4) {
        เขียนใหม่ ^ http://www.website.com/noscrape.htm;
    }
}

}

นี่คือการกำหนดค่าไซต์ nginx ของฉัน:

เซิร์ฟเวอร์ {
    ฟัง 80;
    server_name bla.com;

    ที่ตั้ง / {
        proxy_pass http://bla.com:80;
    access_log off;
# proxy_cache STATIC;
# proxy_cache_valid 200 1d;
# ข้อผิดพลาด proxy_cache_use_stale หมดเวลาอัปเดต invalid_header
#http_500 http_502 http_503 http_504;
client_max_body_size 20M;

    }

}

มีความคิดอย่างไรที่ฉันสามารถทำได้ หรือเป็นไปไม่ได้เพราะ cloudflare?

Richard Smith avatar
jp flag
ดูเหมือนว่าคุณได้เพิ่มบล็อก 'เซิร์ฟเวอร์' ที่ซ้ำซ้อน คำสั่ง `if` จะต้อง ** อยู่ภายใน ** บล็อก 'เซิร์ฟเวอร์' ที่จัดการคำขอ สันนิษฐานว่า 'bla.com'
gr flag
ขอบคุณ Richard นั่นคือปัญหา! มันใช้งานได้แล้ว!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา