Magento 2 연동 문제 해결하기
학습 내용
아래에 설명된 문제 해결 단계를 따라 Magento 2 OAuth 설정 문제를 해결하는 방법을 알아보세요. 이 단계를 모두 진행한 후에도 문제가 계속 발생하면 커뮤니티 또는 지원 팀으로 문의해 주세요.
시작하기 전에 알아야 할 것
아직 읽어보지 않았다면 Magento 2 연동을 설정하는 단계별 지침은 Magento 2 시작하기 가이드를 확인해 주세요.
Klaviyo는 OAuth 프로토콜을 사용하여 액세스 토큰을 생성하고 Magento 2 스토어에서 데이터를 가져옵니다. Magento 2 설치를 사용자 지정한 경우, Klaviyo의 OAuth 절차가 실패할 수 있습니다. 이 문서에서는 실패가 발생하는 위치를 파악할 수 있도록 일련의 문제 해결 단계를 안내합니다.
일반적인 문제 해결 단계
유효한 SSL 인증서를 사용해 사이트를 공개적으로 액세스할 수 있도록 해 주세요.
Klaviyo의 OAuth 절차에서는 웹사이트가 공개적으로 접근 가능해야 하며, 그렇지 않으면 액세스 토큰을 생성하는 데 필요한 API 호출이 실패해요.
- 스토어에 비밀번호 보호를 설정했거나 IP로 접근을 제한하지 않았는지 확인해 주세요.
- 유효한 SSL 인증서로 HTTPS를 통해 스토어에 액세스할 수 있는지 확인해 주세요. 인증서는 여기에서 테스트할 수 있어요.
방화벽이 Klaviyo의 요청을 차단하지 않는지 확인해 주세요.
모든 아웃바운드 Klaviyo 연동 트래픽은 예측 가능하고 고정된 IP 주소 세트 뒤에 있으므로, 이 트래픽이 Klaviyo에서 오는 것임을 높은 수준으로 신뢰할 수 있어요. Klaviyo 연동 트래픽 IP 주소를 허용 목록에 추가하는 방법을 알아보려면 문서를 읽어 보세요.
Magento 2 및 Klaviyo 확장 프로그램 버전 확인
- Magento v2.2.0을 사용 중이라면 OAuth를 수동으로 활성화해야 해요.
- 올바른 Klaviyo 확장 프로그램을 설치했는지 확인해 주세요(필요한 경우 업그레이드해야 할 수 있습니다).
OAuth 엔드포인트에 액세스할 수 있는지 확인해 주세요.
추가 또는 누락된 재작성 규칙이 있어 기본 Magento 2 OAuth 엔드포인트에 액세스할 수 없을 수 있어요. Klaviyo는 인증 프로세스에 필요한 자격 증명을 생성하기 위해 이러한 엔드포인트에 액세스해야 해요.
아래 URL을 스토어에서 액세스할 수 있는지 확인하세요.
https://[Store URL]/oauth/token/request https://[Store URL]/oauth/token/access - 다음과 같이 POST 요청을 보내서 액세스할 수 있는지 확인할 수 있어요.
curl --location --url 'https://[Store URL]/oauth/token/request' --request 'POST' -v curl --location --url 'https://[Store URL]/oauth/token/access' --request 'POST' -v - 다음과 비슷한 응답이 표시될 것으로 예상할 수 있어요. 이 방식으로 요청하면 오류가 표시되는 것이 정상이며, 엔드포인트가 올바르게 응답하고 있음을 확인할 수 있어요.
- OAuth와 관련된 응답을 받지 못한다면, 리디렉션, 잘못된 다시 쓰기 규칙 또는 내부 서버 오류로 인해 이러한 URL에 대한 액세스가 차단되지 않는지 확인해야 해요.
URL에 스토어 하위 경로가 있으면 이 문제가 발생할 수 있어요. 다음에서 엔드포인트에 액세스해 스토어 하위 경로 문제를 테스트하세요:
https://[Store URL]/[Store Path]/oauth/token/request https://[Store URL]/[Store Path]/oauth/token/access 이 엔드포인트가 해결되면 .htaccess에 아래 재작성 규칙을 포함해 파일을 저장해 문제를 해결하세요.
RewriteEngine on
RewriteRule /oauth/token/request$ https://%{HTTP_HOST}/[Store Path]/oauth/token/request [L,R=301]
RewriteRule /oauth/token/access$ https://%{HTTP_HOST}/[Store Path]/oauth/token/access [L,R=301] 연동을 삭제한 다음 다시 생성합니다.
이전에 연동에 실패한 후 변경 사항을 적용했다면, 원래 OAuth 연동을 삭제하는 것이 좋아요. 사용된 키가 유효하지 않을 수 있으며, 다시 생성해야 해요.
- Magento에서 시스템으로 이동하세요.
- Select 연동
- Klaviyo 연동 레코드를 찾아 삭제하세요.
연동 레코드가 삭제되면 Magento 2 연동 방법 가이드의 단계에 따라 새 연동 레코드를 만든 후 다시 시도해 주세요.
Magento 버전별 문제
Magento 2.4.2에 특정된 실패
Magento 2.4.2를 사용 중이라면 OAuth 활성화가 실패하는 알려진 문제가 있어요. 연동을 활성화하면 아래에 표시된 것과 같은 오류 메시지가 표시될 수 있어요. 오류가 표시되지 않더라도 OAuth 활성화가 실패했을 수 있어요. 일반적으로 이 오류는 Magento 로그에서 확인할 수 있어요.
이 오류를 해결하려면 다음 중 하나를 수행해야 해요:
- Magento 2.4.3으로 업그레이드하세요. Magento 2 문서를 확인하여 버전을 업그레이드하세요.
- Magento 2의 경우 Klaviyo의 github 리포지토리에 설명된 대로 패치를 적용하세요.
Magento 2.4.6에 특정한 인증 실패
Magento 2.4.6을 사용 중이며 Klaviyo와 연동한 후 401 인증 오류가 발생하나요? 이는 Magento 버전 2.4.6에 영향을 미치는 알려진 Magento 버그 때문일 수 있어요. 이 문제를 해결하려면 Klaviyo가 OAuth 1.0 대신 전달자 토큰 인증을 사용해 요청을 할 수 있도록 전달자 토큰 인증을 활성화해야 해요. 전달자 토큰 인증을 활성화하려면:
- Magento 관리자에서 스토어 > 구성 > 서비스 > OAuth > 소비자 설정으로 이동해 주세요.
- Allow OAuth Access Tokens to be used as stand-alone Bearer tokens 설정에서 Yes를 선택하세요.
- 구성 저장을 클릭합니다.
이 업데이트를 완료하면 이전 인증 오류가 해결되고 연동 동기화가 재개돼요.