ฉันมีการตั้งค่าด้วยเว็บแอปพลิเคชัน 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)
อะไรคือปัญหาที่นี่? คำแนะนำใด ๆ เกี่ยวกับวิธีการวินิจฉัยปัญหาจะได้รับการชื่นชม