【问题标题】:Server to AWS RDS - No connection could be made because the target machine actively refused it服务器到 AWS RDS - 无法建立连接,因为目标机器主动拒绝它
【发布时间】:2019-07-05 14:25:54
【问题描述】:

我正在将网站从专用服务器迁移到 AWS。

首先我要传输数据库(sql server express)。

我已经设置了一个 AWS RDS Sql Express 数据库 - 并且可以从我的 PC 连接到它。但是,当我更新当前服务器上的数据库连接字符串 - 指向 AWS RDS Sql Express 时,我收到错误:

[Win32Exception (0x80004005): 由于目标机器主动拒绝,无法建立连接]

[SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:TCP Provider,错误:0 - 由于目标机器主动拒绝,无法建立连接。)]

RDS 所属的安全组开放了以下端口:

一个 IP,是我的本地 PC - 另一个是我的专用服务器 IP。

知道为什么我的本地 PC 会连接到 AWS RDS Sql Express 实例,但我的专用服务器连接被拒绝?

有什么方法可以找到我的服务器尝试连接到 AWS 的 IP 地址(如果它不是面向公众的)?

感谢您的建议。

标记

【问题讨论】:

  • Sql Server Configuration Manager检查是否为所有客户端协议启用TCP/IP
  • 嗨 - 在 AWS RDS 上 - 您无法直接访问 Sql Server 实例 - 只能通过 SSMS。我可以在防火墙上打开端口 - 你是这个意思吗?
  • 不,我不是这个意思。我不知道 AWS RDS,但通常你必须在你的 sql 服务器上启用 TCP/IP 协议。对于 sql-server express,默认情况下它可能是关闭的。我不认为你可以用 SSMS 改变它
  • 如果我理解正确,您的本地电脑可以连接到数据库,而数据库不在您的本地电脑上。所以在这种情况下 TCP/IP 设置正确,你可以忽略我的 cmets
  • 感谢您的帮助。在我的专用服务器防火墙上,443 端口传出是打开的。

标签: .net sql-server amazon-web-services amazon-ec2 iis-8


【解决方案1】:

你应该检查两件事:

1- rds 端点是否正确 (在我的情况下,端点是错误的)

2- rds 的公共访问设置为 true,并且其安全组允许您的 ip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 2023-03-25
    • 1970-01-01
    • 2015-04-05
    • 2016-12-08
    • 2014-09-05
    • 2017-06-01
    相关资源
    最近更新 更多