안녕하세요! 요즘 많은 분들이 Make.com을 사용하여 워드프레스와 같은 웹사이트와의 업무 자동화를 시도하고 있습니다. (403 error)
특히 워드프레스를 Make.com과 연결할 때 발생할 수 있는 문제 중 하나가 바로 403 오류입니다.
이 오류는 서버가 클라이언트의 요청을 차단할 때 발생하는데요,
해결 방법은 여러 가지가 있습니다.
이번 글에서는 Vultr에서 Plesk를 사용하는 환경을 기준으로 403 오류를 해결하는 방법을 단계별로 설명드리겠습니다.
403 오류의 원인과 해결 방법
1. API 권한 확인
API 권한 문제는 403 오류의 주요 원인 중 하나입니다. API 키가 올바르게 설정되었는지, 그리고 해당 키가 요청한 리소스에 접근할 수 있는 read/write 권한이 있는지 확인하는 것이 중요합니다.
- API 키 확인 방법: 워드프레스의
WP REST API
나Application Passwords
같은 플러그인을 통해 API 키를 생성했다면, 해당 키가 모든 필요한 권한을 가지고 있는지 확인해야 합니다. 문제가 있는 경우 API 키를 다시 생성해 보세요. - Plesk에서 방화벽 확인: API 요청이 방화벽에 의해 차단되지 않는지 확인해야 합니다. Plesk에서 이를 확인하려면:
- Plesk 대시보드에 로그인합니다.
- 왼쪽 메뉴에서 “Tools & Settings”(도구 및 설정)를 선택합니다.
- “Firewall”(방화벽)을 클릭하여 활성화된 규칙을 확인하세요.
- Make.com에서 보내는 API 요청을 허용할 수 있도록 규칙을 추가하거나 수정하세요.
2. IP 차단 여부 확인
서버에서 특정 IP 주소를 차단하는 경우도 403 오류가 발생할 수 있습니다. 특히 Make.com의 IP 주소가 차단되었는지 확인하는 것이 중요합니다.
- Plesk 방화벽에서 IP 차단 확인:
- Plesk 대시보드에서 **”Tools & Settings”**를 선택합니다.
- “IP Address Banning”(Fail2Ban) 또는 “Firewall” 설정으로 이동합니다.
- 차단된 IP 주소 목록을 확인하고, Make.com의 IP가 차단되었을 경우 이를 화이트리스트에 추가하세요.
- 방화벽 규칙에서 Make.com의 IP를 허용하는 규칙을 추가하여 접근을 허용하세요.
3. User-Agent 설정 확인
서버가 특정 User-Agent 요청을 차단할 때도 403 오류가 발생할 수 있습니다. Make.com에서 보내는 API 요청에 적절한 User-Agent 헤더가 포함되어 있는지 확인해야 합니다.
- User-Agent 차단 여부 확인:
- Plesk 대시보드에서 **”Apache & nginx Settings”**로 이동합니다.
- 웹사이트 설정의 “Additional directives” 또는 “Custom configuration” 부분을 확인합니다.
- 특정 User-Agent를 차단하는 규칙이 있다면 이를 삭제하거나 수정하여 Make.com의 요청을 허용하도록 설정하세요.
4. 워드프레스 보안 플러그인 확인
워드프레스의 보안 플러그인이 외부 API 요청을 차단하는 경우도 있습니다. 예를 들어, Wordfence나 iThemes Security 같은 플러그인이 이 문제를 일으킬 수 있습니다.
- 보안 플러그인 설정 수정:
- 워드프레스 관리자 페이지에 로그인합니다.
- “플러그인” 메뉴에서 사용 중인 보안 플러그인을 선택하고 설정으로 이동합니다.
- Firewall 또는 Traffic Control 섹션에서 Make.com에서 보내는 API 요청을 허용하는 예외 규칙을 추가합니다.
- 차단 로그를 확인하고 Make.com의 IP 또는 User-Agent를 화이트리스트에 추가하세요.
5. CORS 설정 확인
CORS(Cross-Origin Resource Sharing) 설정이 잘못되었을 때도 403 오류가 발생할 수 있습니다. 이는 서버가 다른 출처에서 온 요청을 허용하지 않도록 설정된 경우입니다.
- Plesk에서 CORS 설정 추가/수정:
- Plesk 대시보드에서 해당 도메인을 선택합니다.**”Apache & nginx Settings”**로 이동합니다.nginx settings의 **”Additional nginx directives”**에 다음 코드를 추가합니다:
add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
- 변경 사항을 적용하고 서버를 재시작하여 CORS 오류를 해결하세요.
6. API 호출 방식 확인
Make.com에서 사용하는 API 호출 방식이 서버 설정과 맞지 않을 경우에도 403 오류가 발생할 수 있습니다. 특히 HTTP 메서드(GET, POST, PUT 등)가 적절한지 확인해야 합니다.
- HTTP 메서드 허용 규칙 확인:
- Plesk 대시보드에서 **”Apache & nginx Settings”**로 이동합니다.특정 HTTP 메서드가 차단되어 있지 않은지 확인하고, 필요시 허용 규칙을 추가하여 Make.com의 API 호출을 허용합니다.예를 들어, 다음과 같은 코드를 nginx directives에 추가할 수 있습니다:
if ($request_method !~ ^(GET|POST|OPTIONS)$ ) { return 403; }
7. 서버 로그 확인
마지막으로, Plesk의 로그를 통해 구체적인 오류 원인을 확인할 수 있습니다. 로그는 403 오류가 발생한 시점에 어떤 요청이 어떻게 처리되었는지 보여주므로, 문제 해결에 중요한 단서를 제공합니다.
- 로그 확인 방법:
- Plesk 대시보드에서 해당 도메인을 선택합니다.
- “Logs” 섹션으로 이동하여 최근 발생한 403 오류 로그를 확인합니다.
- 로그에서 Make.com의 요청이 어떻게 처리되었는지 확인하고, 추가로 필요한 설정을 수정하세요.
결론
403 오류는 여러 가지 원인으로 발생할 수 있으며, Vultr와 Plesk 환경에서 이 문제를 해결하기 위해서는 다양한 설정을 꼼꼼하게 점검해야 합니다. 위에서 설명드린 대로 API 권한, IP 차단, User-Agent 설정, CORS 설정, HTTP 메서드 허용 여부를 하나씩 확인하고 수정하면 문제를 해결할 수 있을 것입니다. 저 같은 경우는 Plesk의 방화벽 설정을 수정하여 문제가 해결되었습니다.
403 오류 해결 방법을 차례로 점검해보세요. 더 이상 오류로 인해 업무가 중단되지 않기를 바랍니다!