PHP를 사용하여 SSH를 통해 MySQL 서버에 안전하게 연결
SSH를 통해 원격 MySQL 서버에 연결하면 연결을 암호화하여 추가 보안이 제공됩니다. PHP에서는 mysqli_connect() 함수를 사용하여 SSH 터널링된 MySQL 서버에 연결할 수 있습니다. 그러나 ssh2_tunnel()을 사용하여 연결을 설정하려고 하면 개발자는 "mysqli_connect()에서 매개변수 6을 문자열로 예상하고 리소스가 제공되어야 합니다."라는 오류가 자주 발생합니다.
SSH 터널 구성
이 문제를 해결하기 위해 권장되는 접근 방식은 SSH 터널을 설정하는 것입니다. 명령줄 도구를 사용하여 SSH 터널을 생성하려면 다음 단계를 따르세요.
ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com
AllowTcpForwarding yes
sudo systemctl restart sshd
PHP 연결
SSH 터널이 설정되면 PHP를 사용하여 MySQL 서버에 연결할 수 있습니다.
$mysqli = new mysqli('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 'dbname', 3307); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); }
이 코드는 127.0.0.1:3307에서 호스팅되는 MySQL 데이터베이스에 연결됩니다. , 지정된 데이터베이스 사용자 이름, 비밀번호, 데이터베이스 이름 및 SSH 터널용으로 구성된 포트 번호를 사용합니다.
위 내용은 PHP의 SSH 터널을 통해 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!