從 DMZ 執行 IIS 時連接到 sql server 數據庫時出錯
我已經為此工作了幾天。
我們的一個客戶有一個 3 層伺服器計劃 - 一個 IIS 伺服器、一個應用程序伺服器(Asp.Net MVC3 應用程序所在的位置)和數據庫伺服器。所有伺服器都是 Windows Server 2012 R2。應用伺服器和數據庫伺服器在自己的域中,IIS 伺服器在另一個域中。
IIS 伺服器位於 DMZ 上,防火牆將其與應用程序伺服器和 SQL 伺服器分開。
我可以使用所需憑據從應用程序伺服器上的 ODBC 連接到 SQL Server 數據庫實例。
IIS 通過 UNC 共享連接到應用程序。應用程序池使用本地帳戶執行。在應用程序伺服器上是另一個本地帳戶,具有相同的使用者名和密碼。
SQL Server 數據庫通過 SQL Server 身份驗證連接。
當我連接到網站時,我會看到我的登錄螢幕。當我嘗試登錄時(當它需要使用數據庫時)我收到以下錯誤:
Win32 異常:
連接嘗試失敗,因為連接方在一段時間後沒有正確響應,或者連接失敗,因為連接的主機沒有響應。
異常:
建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。
抱歉,我正在使用 VMWare,無法直接從伺服器複製/粘貼。
我認為正在發生的是 IIS 伺服器在本地執行應用程序,並且由於 DMZ 和不同的域,無法看到 DB 伺服器。
我需要 IIS 來執行應用程序,以便應用程序可以與數據庫通信。我怎樣才能最好地做到這一點?我可以配置 IIS 使其在應用程序伺服器上執行應用程序嗎?如果是這樣,我需要什麼配置設置?
如果您需要更多資訊,請詢問,我會提供。
為了完成這項工作,我已準備好接受盡可能多的反對票。
編輯:
我可以配置 IIS 以將請求轉發到內部伺服器嗎?
我通過使用應用程序請求路由和 URL 重寫設置從 Web 伺服器到應用程序伺服器的反向代理來處理這個問題。下面的 URL 有我遵循的說明。
http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis
簡單的解決方案解決了讓我卡了太久的問題——我沒有太多的伺服器經驗,但是當你在初創公司時,你必須做你必須做的事情。