C# 从不同路由器连接到AWS上的RDS

C# 从不同路由器连接到AWS上的RDS,c#,mysql,amazon-web-services,relational-database,C#,Mysql,Amazon Web Services,Relational Database,这里的新手 我正在尝试向AWS上的RDS发送数据。当我尝试从我的住所和附近的一所大专院校连接到数据库时,程序能够读写MySQL数据库。当我在办公室或附近的大学使用互联网时,我无法连接。。。有什么想法吗?我尝试更改端口号,但似乎没有任何影响 public int verifyPassword(string employeeName, string password) { string connStr = "server=endpointonAWS ;user=use

这里的新手

我正在尝试向AWS上的RDS发送数据。当我尝试从我的住所和附近的一所大专院校连接到数据库时,程序能够读写MySQL数据库。当我在办公室或附近的大学使用互联网时,我无法连接。。。有什么想法吗?我尝试更改端口号,但似乎没有任何影响

    public int verifyPassword(string employeeName, string password)
    {
        string connStr = "server=endpointonAWS ;user=username;database=DB;port=2001;password=pswrd";
        MySqlConnection conn = new MySqlConnection(connStr);
        try
        {
            Console.WriteLine("Connecting to MySQL...");
            conn.Open();
            Console.WriteLine("Connection Successful");


            string sql = "INSERT INTO DB.employeeVerification (employeeName, password ) VALUES ('" + employeeName + "','" + password + "')";

            MySqlCommand cmd = new MySqlCommand(sql, conn);
            cmd.ExecuteNonQuery();
            Console.WriteLine("Data Transfer Successful");
        }
        catch (Exception ex)
        {

            Console.WriteLine(ex.ToString());
        }

如果您可以从某些位置而不是其他位置进行连接,那么问题几乎肯定不在代码中,而是在网络中的某个位置

我可以想到3个初选候选人:

  • DNS查找失败。检查是否可以在主机名出现故障的地方将其解析为正确的IP地址

  • 出站过滤本地防火墙。一些企业和大学明确禁止非标准端口上的出站连接。如果不是HTTP或HTTPS,那么您可能会遇到问题

  • AWS上的入站防火墙

  • 三个DNS中,最容易诊断的是DNS,出站过滤可能是最难克服的,因为如果您不是网络管理团队的一员,您可能无法访问防火墙规则


    您可以通过在目标机器的端口443上放置HTTP web服务并尝试连接到它来测试出站防火墙块。如果它适用于HTTPS,但不适用于其他端口,那么您可以合理地假设存在防火墙。

    检查连接到RDS实例的安全组,查看是否有IP被列入白名单。