Am o configurare cu o aplicație web dotnet core. Este implementat într-o VM Azure care rulează Ubuntu. Web-ul este servit în nginx. Această aplicație web particulară accesează o serie de baze de date diferite. Una dintre aceste conexiuni nu funcționează atunci când soluția este implementată pe VM. Iată câteva detalii:
- SQL Server nu rulează pe portul implicit 1433, ci în schimb 15333 - nu am controlul asupra acestui server, așa că schimbarea portului nu este o opțiune
- Pe laptopul meu de dezvoltator, șirul de conexiune la acest server SQL funcționează - extragerea datelor funcționează conform așteptărilor.
- Din Azure Ubuntu VM pot face un telnet la SQL Server (telnet IP 15333). Primesc un răspuns „Conectat la IP”.
- Conexiunile la alte baze de date (Oracle, alte baze de date SQL Server (care rulează pe 1433)), funcționează bine în aplicație.
- Toate bazele de date (funcționează și cea care nu funcționează) sunt în același domeniu de rețea ca laptopul meu de dezvoltator.
Deci sunt puțin confuz în ceea ce privește problema. Când vă conectați la serverul SQL problematic, conexiunea expiră după 30 de secunde (implicit). Ar fi de așteptat un răspuns aproape imediat dacă lucrurile ar funcționa conform așteptărilor.
Configurația nginx arată astfel:
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
conexiuni_muncitor 768;
# multi_accept on;
}
http {
##
# Setări de bază
##
sendfile activat;
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
##
# Setări de înregistrare
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Configurații gazdă virtuală
##
includ /etc/nginx/conf.d/*.conf;
Server {
asculta 80;
Locație / {
proxy_pass http://localhost:5000;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Menținerea conexiunii;
proxy_set_header Gazdă $gazdă;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $schema;
}
}
}
Alergare starea ufw
imi da:
La Acțiune De la
-- ------ ----
Nginx HTTP ALLOW oriunde
443/tcp ALLOW Oriunde
80/tcp PERMITERE oriunde
20:21/tcp PERMITERE oriunde
30000:31000/tcp PERMITERE oriunde
OpenSSH ALLOW oriunde
14431/tcp ALLOW oriunde
14431 PERMITERE oriunde
1433 PERMITĂ Oriunde
Nginx HTTP (v6) PERMITERE oriunde (v6)
443/tcp (v6) PERMITERE oriunde (v6)
80/tcp (v6) PERMITERE oriunde (v6)
20:21/tcp (v6) PERMITERE oriunde (v6)
30000:31000/tcp (v6) PERMITERE oriunde (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
14431/tcp (v6) PERMITERE oriunde (v6)
14431 (v6) PERMITERE oriunde (v6)
1433 (v6) PERMITERE oriunde (v6)
Care ar putea fi problema aici? Orice indicii despre cum să diagnosticați problema ar fi apreciat.