programing

Apache2를 통해 연결하는 동안에만 원격 MySqli Connection 시간 초과

telecom 2023. 10. 27. 21:43
반응형

Apache2를 통해 연결하는 동안에만 원격 MySqli Connection 시간 초과

Ubuntu 18.04 Apache EC2 Machine/Server - 172.2.27.1에서 mysqli가 MariaDB Server - 172.2.27.2(원격 mysqli 서버)에 연결되지 않지만 로컬 호스트(현재 172.2.27.1 Machine에도 MariaDB가 설치되어 있으므로 172.2.27에 대한 원격 연결)를 통해 연결됩니다.2가 터미널을 통해 구축 중입니다.

mysql -h 172.2.27.2 -u test -p(172.2.27.1 기계의 경우)

정확한 문제가 무엇인지 알 수 없습니다.가능한 모든 위치를 디버깅해 보았지만 찾을 수 없었습니다.

Apache에 연결하는 동안 다음 오류가 발생합니다.

Object
(
    [affected_rows] => 
    [client_info] => 
    [client_version] => 50012
    [connect_errno] => 2002
    [connect_error] => Connection timed out
    [errno] => 
    [error] => 
    [error_list] => 
    [field_count] => 
    [host_info] => 
    [info] => 
    [insert_id] => 
    [server_info] => 
    [server_version] => 
    [stat] => 
    [sqlstate] => 
    [protocol_version] => 
    [thread_id] => 
    [warning_count] => 
)

PS: 컴퓨터나 EC2 인스턴스에서 방화벽 규칙 문제가 발생하지 않습니다.저는 그것을 이미 확인했습니다.인터넷 상의 원격 MariaDB 서버에 연결하기 위해 사용 가능한 모든 코드는 동일한 결과를 제공합니다.코드 문제가 아니라 아파치 확장 문제나 PHP 문제일 수도 있습니다.서버 172.2.27.1은 인터넷 상의 다른 MariaDB 서버에 연결할 수 없습니다.다른 건 아니고 로컬 호스트에서만 작동합니다.

방화벽 규칙이 연결을 차단하고 있을 가능성이 높습니다. (연결 시간 초과)

확인.Security groupsMysql/MariaDB 인스턴스에 할당되어 있는지 확인합니다.Mysql port (3306)MariaDB 설정에 적절하게 허용되어 있습니다.inbound로부터의 연줄172.2.27.2구체적으로, 또는 전체 서브넷에서.

원격 주소에 대한 DB를 구성하지 않은 것 같습니다.set my.cnf

[mysqld]
skip-networking=0
skip-bind-address

그런 다음 mysql.user를 설정합니다.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.2.27.%' 
  IDENTIFIED BY 'password' WITH GRANT OPTION;

이후 모든 프로세스 다시 시작참조를 위해 이 내용을 살펴봅니다. https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/

언급URL : https://stackoverflow.com/questions/63975567/remote-mysqli-connection-timeout-only-while-connecting-via-apache2

반응형