Score:1

nginx local reverse proxy พร้อมไฟร์วอลล์

ธง sa

ฉันกำลังใช้บริการบนคอนเทนเนอร์นักเทียบท่า บริการถูกเปิดเผยบนพอร์ตที่กำหนด (เช่น 12345)

ยิ่งไปกว่านั้น ฉันได้เพิ่ม nginx reverse proxy เพื่อรับฟังก์ชันเพิ่มเติม เช่น HTTPS และ HTTP/2

การกำหนดค่า nginx มีดังต่อไปนี้:

worker_processes อัตโนมัติ

http {
    ส่งไฟล์บน;

    เปิด gzip;

    เซิร์ฟเวอร์ {
        ฟัง 443 ssl http2;
        ฟัง [::]:443 ssl ipv6only=on http2;
        
        server_name example.com

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # จัดการโดย Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # จัดการโดย Certbot
        รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot        

        ที่ตั้ง / {
            proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
            proxy_set_header โฮสต์ $host;

            proxy_pass http://localhost:12345/;

            ปิด proxy_buffering;
            proxy_http_version 1.1;
            proxy_set_header อัพเกรด $http_upgrade;
            proxy_set_header การเชื่อมต่อ "อัพเกรด";
        }
    }
}

หากไม่มีไฟร์วอลล์จะทำงานได้อย่างถูกต้อง (ฉันสามารถเข้าถึงบริการบน LAN ได้ทั้งที่พอร์ต 443 และพอร์ต 12345)

ฉันมีไฟร์วอลล์พร้อมแบ็กเอนด์ nftables ที่กำหนดค่าดังต่อไปนี้:

นักเทียบท่า (ใช้งานอยู่)
  เป้าหมาย: ยอมรับ
  icmp-block-inversion: ไม่
  อินเทอร์เฟซ: br-06ceff0ffa49 docker0
  แหล่งที่มา: 
  บริการ: 
  พอร์ต: 12345/tcp 12345/udp
  โปรโตคอล: 
  ไปข้างหน้า: ใช่
  สวมหน้ากาก: ไม่
  พอร์ตไปข้างหน้า: 
  พอร์ตต้นทาง: 
  icmp บล็อก: 
  กฎมากมาย: 

สาธารณะ (ใช้งานอยู่)
  เป้าหมาย: ค่าเริ่มต้น
  icmp-block-inversion: ไม่
  อินเทอร์เฟซ: eth0 wlan0
  แหล่งที่มา: 
  บริการ: http https ssh
  พอร์ต: 12345/tcp
  โปรโตคอล: 
  ไปข้างหน้า: ใช่
  สวมหน้ากาก: ไม่
  พอร์ตไปข้างหน้า: 
  พอร์ตต้นทาง: 
  icmp บล็อก: 
  กฎมากมาย: 

เชื่อถือได้ (ใช้งานอยู่)
  เป้าหมาย: ยอมรับ
  icmp-block-inversion: ไม่
  อินเทอร์เฟซ: lo
  แหล่งที่มา: 
  บริการ: 
  พอร์ต: 12345/tcp
  โปรโตคอล: 
  ไปข้างหน้า: ใช่
  สวมหน้ากาก: ไม่
  พอร์ตไปข้างหน้า: 
  พอร์ตต้นทาง: 
  icmp บล็อก: 
  กฎมากมาย: 

เมื่อฉันพยายามเข้าถึงบริการจากพีซีบน LAN ด้วยการกำหนดค่านี้ ฉันสามารถเข้าถึงได้โดยตรงผ่านพอร์ต 12345 แต่ถ้าฉันพยายามเข้าถึงผ่าน nginx ฉันจะหมดเวลา

ความรู้สึกของฉันคือไฟร์วอลล์ป้องกัน nginx จากการแลกเปลี่ยนข้อมูลกับคอนเทนเนอร์ แต่ฉันไม่รู้ว่าฉันขาดอะไรไปเพื่อให้มันทำงานได้

ฉันอาจพลาดอะไรไป

โพสต์คำตอบ

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