Score:0

แอปพลิเคชันเว็บ dotnet core ไม่สามารถเข้าถึง SQL Server ระยะไกล

ธง tm

ฉันมีการตั้งค่าด้วยเว็บแอปพลิเคชัน dotnet core มีการปรับใช้ใน Azure VM ที่ใช้ Ubuntu เว็บให้บริการใน nginx เว็บแอปพลิเคชันนี้เข้าถึงฐานข้อมูลต่างๆ จำนวนมาก หนึ่งในการเชื่อมต่อเหล่านี้ไม่ทำงานเมื่อมีการปรับใช้โซลูชันกับ VM นี่คือรายละเอียดบางส่วน:

  • SQL Server ไม่ทำงานบนพอร์ตเริ่มต้น 1433 แต่แทนที่จะเป็น 15333 - ฉันไม่สามารถควบคุมเซิร์ฟเวอร์นี้ได้ ดังนั้นการเปลี่ยนพอร์ตจึงไม่ใช่ตัวเลือก
  • ในแล็ปท็อปสำหรับนักพัฒนาของฉัน สตริงการเชื่อมต่อกับ SQL Server นี้ใช้งานได้ - การดึงข้อมูลทำงานได้ตามที่คาดไว้
  • จาก Azure Ubuntu VM ฉันสามารถทำ telnet ไปยัง SQL Server (telnet IP 15333) ฉันได้รับการตอบกลับว่า "เชื่อมต่อกับ IP"
  • การเชื่อมต่อกับฐานข้อมูลอื่น (Oracle, ฐานข้อมูล SQL Server อื่น (ทำงานบน 1433)) ทำงานได้ดีในแอปพลิเคชัน
  • ฐานข้อมูลทั้งหมด (ที่ใช้งานได้และที่ไม่ทำงาน) อยู่ในโดเมนเครือข่ายเดียวกันกับแล็ปท็อปสำหรับนักพัฒนาซอฟต์แวร์ของฉัน

ดังนั้นฉันจึงค่อนข้างสับสนว่าปัญหาคืออะไร เมื่อเชื่อมต่อกับ SQL Server ที่มีปัญหา การเชื่อมต่อจะหมดเวลาหลังจาก 30 วินาที (ค่าเริ่มต้น) คาดว่าจะตอบสนองเกือบจะทันทีหากสิ่งต่าง ๆ ทำงานตามที่คาดไว้

การกำหนดค่า nginx มีลักษณะดังนี้:

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

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

http {

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

        ส่งไฟล์บน;

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

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

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

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

        รวม /etc/nginx/conf.d/*.conf;

        เซิร์ฟเวอร์ {
                ฟัง 80;

                ที่ตั้ง / {
                        proxy_pass http://localhost:5000;
                        proxy_http_version 1.1;
                        proxy_set_header อัพเกรด $http_upgrade;
                        proxy_set_header การเชื่อมต่อคงอยู่;
                        proxy_set_header โฮสต์ $host;
                        proxy_cache_bypass $http_upgrade;
                        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
                        proxy_set_header X-Forwarded-Proto $scheme;
                }
        }
}

วิ่ง สถานะ ufw ให้ฉัน:

ถึงการดำเนินการจาก
-- ------ ----
Nginx HTTP อนุญาตทุกที่
443/tcp อนุญาตได้ทุกที่
80/tcp อนุญาตได้ทุกที่
20:21/tcp อนุญาตได้ทุกที่
30000:31000/tcp อนุญาตได้ทุกที่
OpenSSH อนุญาตทุกที่
14431/tcp อนุญาตได้ทุกที่
14431 อนุญาตได้ทุกที่
1433 อนุญาตได้ทุกที่
Nginx HTTP (v6) อนุญาตทุกที่ (v6)
443/tcp (v6) อนุญาตได้ทุกที่ (v6)
80/tcp (v6) อนุญาตทุกที่ (v6)
20:21/tcp (v6) อนุญาตทุกที่ (v6)
30000:31000/tcp (v6) อนุญาตได้ทุกที่ (v6)
OpenSSH (v6) อนุญาตทุกที่ (v6)
14431/tcp (v6) อนุญาตได้ทุกที่ (v6)
14431 (v6) อนุญาตได้ทุกที่ (v6)
1433 (v6) อนุญาตทุกที่ (v6)

อะไรคือปัญหาที่นี่? คำแนะนำใด ๆ เกี่ยวกับวิธีการวินิจฉัยปัญหาจะได้รับการชื่นชม

โพสต์คำตอบ

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