簡體   English   中英

無法通過另一個Azure虛擬機上托管的Web應用程序連接到sql server虛擬機

[英]unable to connect to sql server VM through web app hosted on another azure VM

我無法通過托管在另一個Azure虛擬機上的Web應用程序連接到承載SQL Server的Windows Azure虛擬機。 我在登錄頁面本身上收到一個應用程序錯誤,提示“對象引用未設置為對象實例”。 我無法連接到數據庫。

為了設置在VM上運行的SQL Server與任何其他應用程序之間的連接,必須確保同時存在SQL Server和它本身的VM的連接設置:

虛擬機:

虛擬機具有防火牆,該防火牆可以阻止對虛擬機的任何訪問,除了在防火牆中定義的規則外,如果要訪問虛擬機,則必須在防火牆中打開相關端口。 (順便說一句,對服務器執行ping操作在防火牆上啟用ICMP ...)

注意:-如果要在專用網絡內打開端口,則由防火牆完成,但是如果要在專用網絡外打開,請確保需要在azure門戶中設置端點並通過該端口與計算機關聯。

  • 如果您只想為相關IP打開端口,我會告訴您,天青端點(除非您通過天青電源外殼對其進行設置)是在天青負載平衡之后定義的,並且對VM的訪問將來自負載平衡器IP克服此問題的一種方法是使用azure提供的新功能-端點acl(我認為它在預覽中非常清楚)或打開負載均衡器ip。

關於SQL Server,當嘗試連接到SQL Server時,正在發生以下通信:-應用正在向服務器發送UDP消息,並詢問應在哪個端口訪問服務器,該udp消息在端口1434中發送-因此,您還應該授予對該端口的訪問權限-如果在sql服務器設置中啟用了動態端口,則該服務器可能會sql服務器偵聽該udp 1434並返回未使用的tcp端口,然后該tcp端口將偵聽該應用程序的通信。 -如果您禁用動態端口並將其設置為sql通訊的默認端口(tcp 1433),則可以從計算機上使用udp 1434打開該端口,並且通訊將正常進行,如果這不是安全問題您可以允許所有端口並啟用動態端口。

無論如何-您需要結合所有這些設置-與您的服務器結構相關以啟用通信。

希望我有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM