Подключение к RDS на AWS с разных маршрутизаторов - PullRequest
0 голосов
/ 08 октября 2018

новичок здесь,

Я пытаюсь отправить данные в RDS на AWS.Когда я пытаюсь подключиться к БД из своей резиденции и соседнего младшего колледжа, программа может читать и записывать в базу данных 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());
        }

1 Ответ

0 голосов
/ 08 октября 2018

Если вы можете подключиться из некоторых мест, а не из других, то проблема почти наверняка не в вашем коде, а где-то в сети.

Я могу представить себе 3 основных кандидата:

  1. Ошибка поиска DNS.Проверьте, можно ли разрешить имя хоста в правильный IP-адрес в тех местах, где оно выходит из строя.

  2. Исходящая фильтрация локального брандмауэра.Некоторые предприятия и университеты явно блокируют исходящие соединения через нестандартные порты.Если это не HTTP или HTTPS, то у вас могут возникнуть проблемы.

  3. Входящий брандмауэр на AWS.

Из 3 DNS проще всего диагностироватьи исходящую фильтрацию, вероятно, труднее всего преодолеть, поскольку у вас, скорее всего, нет доступа к правилам брандмауэра, если вы не являетесь частью команды сетевого администратора.

Вы можете проверить блоки исходящих брандмауэров, установив HTTPвеб-сервис на порту 443 на вашей целевой машине и пытается подключиться к нему.Если он работает для HTTPS, но не для других портов, то можно разумно предположить, что на этом пути есть брандмауэр.

...