将 DMZ 中的 IIS 连接到 Intranet 上的 SQL Server

问题描述

我正在尝试将在 DMZ 中的服务器上运行的 IIS 连接到公司 Intranet 上的 sql Server 实例。但是,我收到以下错误

An unhandled exception occurred while processing the request.
Win32Exception: Access is denied.
UnkNown location

sqlException: A network-related or instance-specific error occurred while establishing a 
connection to sql Server. The server was not found or was not accessible. Verify that the 
instance name is correct and that sql Server is configured to allow remote connections. 
(provider: Named Pipes Provider,error: 40 - Could not open a connection to sql Server)

我需要在其中一台服务器上打开特定端口吗?或者还有什么我需要做的吗?

解决方法

考虑到您的 SQL 服务器正在运行,请从网络开始。您的 SQL 实例在哪个端口上侦听(默认 1433)?

如果您不知道,请打开 SQL Server 配置管理器(在 SQL Server 上)。导航到 SQL Server 网络配置 > %instancename% 的协议 > TCP/IP > IP 地址。然后,测试是否有什么东西阻止了这个连接;在 PowerShell 中的 IIS 上:

date: date == null ? Timestamp.now() : Timestamp.fromDate(date)

如果这不起作用,请检查 SQL Server 上的 Windows 防火墙的入站规则。确保您使用正确的网络配置文件,并最终与公司中管理您的网络系统的人交谈。

也许您的 IIS 无法解析 SQL Server 主机名?尝试使用 IP 并检查您的 DNS 配置。

您的连接字符串也可能有问题。介意把它贴在这里吗?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...