将 DMZ 中的 IIS 连接到 Intranet 上的 SQL 服务器

Connect IIS in DMZ to SQL Server on intranet

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

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 服务器配置管理器(在 SQL 服务器上)。导航至 SQL 服务器网络配置 > %instancename% 的协议 > TCP/IP > IP 地址。然后,测试是否有东西阻塞了这个连接;在 PowerShell 中的 IIS 上:

Test-NetConnection -ComputerName sqlservername -Port 1433

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

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

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