programing

Azure Cloud Service에서 Azure MySQL over SSL에 연결하도록 Wordpress 구성

showcode 2023. 3. 26. 11:58
반응형

Azure Cloud Service에서 Azure MySQL over SSL에 연결하도록 Wordpress 구성

메인 서브폴더에서 Wordpress를 실행합니다.클라우드 서비스의 NET 솔루션.MySQL을 CloudDB에서 Azure MySQL로 이동했지만 "SSL 연결 강제"를 비활성으로 설정한 경우에만 연결됩니다.

Wordpress wp-config.php에는 다음이 있습니다.

define('DB_SSL', true);

증명서를 전달해야 하는 것이 문제인 것 같습니다만, Wordpress에서 SSL을 통해 연결할 때 전달되도록 설정하는 방법이 명확하지 않습니다.

제가 한 일은 다음과 같습니다.

  1. SSL 인증서를 가져와 인증서 파일을 Wordpress 프로젝트의 루트에 저장합니다.

  2. 다음을 에 추가합니다.wp-config.php:

    define('DB_SSL', true);
    
  3. 함수에 추가db_connect()내 안에서wp-includes/wp-db.php. 그 전에 호출해야 합니다.mysqli_real_connect():

    // Just add this line
    mysqli_ssl_set($this->dbh, NULL, NULL, ABSPATH . 'BaltimoreCyberTrustRoot.crt.pem', NULL, NULL); 
    
    if ( WP_DEBUG ) {
        mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
    } else {
        @mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );
    }
    

그 해결책은 좀 지저분해 보이지만 나에게는 효과가 있다.

그러면 이러한 행을 wp_config에 추가하여 문제가 해결됩니다.php

define(‘MYSQL_CLIENT_FLAGS’, MYSQLI_CLIENT_SSL);
define(‘MYSQL_SSL_CA’, getenv(‘MYSQL_SSL_CA’));
define(‘MYSQL_CLIENT_FLAGS’, MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT );

Azure mySQL 데이터베이스 서버를 Wordpress 컨테이너 이미지와 함께 사용할 경우 솔루션이 훨씬 더 간단하다는 것을 알았습니다.VPS 를 사용하고 있는 경우는, 적용되지 않는 경우가 있습니다.

  • 다음 URL에서 참조된 BaltimoreCyberTrustRoot.crt.pem을 다운로드하십시오.https://learn.microsoft.com/en-us/azure/mysql/howto-configure-ssl
  • Wordpress 설치의 루트에 파일을 배치합니다.
  • wp-config에 다음 2개의 변수를 추가합니다.
  • define( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL );
  • define('MYSQL_SSL_CA_PATH','/');

나에게 맞는 솔루션을 wp-config에 추가합니다.php:

PHP7.x

define( 'MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL | 
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT ); 
define( 'MYSQL_SSL_CA', getenv('MYSQL_SSL_CA'));

PHP5.x

define('MYSQL_CLIENT_FLAGS', MYSQL_CLIENT_SSL);
define( 'MYSQL_SSL_CA', getenv('MYSQL_SSL_CA'));

출처 : https://jkudo.medium.com/how-to-connection-from-wordpress-installed-on-azure-app-service-to-azure-database-for-mysql-via-2b2c37c4a7de

언급URL : https://stackoverflow.com/questions/47959933/configure-wordpress-on-azure-cloud-service-to-connect-to-azure-mysql-over-ssl

반응형