아하, 이해했습니다!
티스토리에 그대로 복붙할 수 있도록 코드블럭 없이, 순수 텍스트 형태로 마크다운 없이 깔끔하게 다시 작성해드릴게요.
WordPress REST API 오류 rest_not_logged_in
해결 방법 (Apache + PHP-FPM 환경)
워드프레스에서 REST API를 사용할 때 다음과 같은 오류를 겪은 적 있으신가요?
{"code":"rest_not_logged_in","message":"You are not currently logged in.","data":{"status":401}}
이 글에서는 이 오류의 원인과 해결 방법을 정리해두었습니다. Apache + PHP-FPM 환경에서 REST API 인증이 되지 않을 때 참고하시기 바랍니다.
1. 발생한 오류
워드프레스에서 비로그인 상태로 API를 호출하면 다음과 같은 메시지가 반환됩니다.
{"code":"rest_not_logged_in","message":"You are not currently logged in.","data":{"status":401}}
특히 로그인 사용자만 호출 가능한 REST API 또는 JWT 인증을 사용하는 경우, 토큰이 제대로 포함되어 있음에도 이런 오류가 발생할 수 있습니다.
2. 원인 분석
해당 오류는 대부분 다음과 같은 이유로 발생합니다.
Apache가 Authorization 헤더를 PHP까지 전달하지 않음
Apache는 기본 설정에서 Authorization 헤더를 PHP-FPM으로 전달하지 않습니다.
그 결과, REST API에서는 인증 정보가 없다고 판단해 rest_not_logged_in 오류를 반환하게 됩니다.
3. 해결 방법
3-1. Apache 설정 추가
.htaccess 또는 VirtualHost 설정에 아래 내용을 추가합니다.
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
기존에 RewriteRule 방식으로 Authorization을 전달했다면, 이 방법이 훨씬 안정적으로 동작합니다.
3-2. PHP-FPM 설정 수정
php-fpm 설정 파일(www.conf 또는 pool 파일)에 아래 항목을 추가하거나 주석을 해제합니다.
env[HTTP_AUTHORIZATION] = $HTTP_AUTHORIZATION
설정 파일 위치 예시:
설정 후 PHP-FPM을 반드시 재시작해야 적용됩니다.
sudo systemctl restart php-fpm
3-3. Apache 모듈 확인
다음 명령어로 필요한 모듈(mod_rewrite, mod_setenvif)이 활성화되어 있는지 확인합니다.
apachectl -M | grep rewrite
apachectl -M | grep setenvif
둘 다 출력되지 않는다면 Apache 설정에서 모듈을 활성화하고, Apache를 재시작해야 합니다.
4. 처리 결과
위 설정을 완료한 후, Authorization 헤더가 정상적으로 전달되었고, REST API 호출 시 더 이상 rest_not_logged_in 오류 없이 정상적인 응답을 받을 수 있게 되었습니다.
JWT 인증 플러그인, WooCommerce API, 커스텀 REST 엔드포인트 등에서도 인증이 정상 작동합니다.
태그
wordpress, rest api, rest_not_logged_in, authorization, apache, php-fpm, wordpress 오류, api 인증, htaccess, 서버 설정
필요하신 분께 도움이 되셨길 바라며, 관련 질문이 있다면 댓글로 남겨주세요!
복붙만 하시면 되도록 꾸며드렸습니다. 필요하면 제목 스타일이나 문단 강조만 블로그에서 편집하셔도 깔끔하게 적용됩니다!
'Programming > 기본 (Baisc)' 카테고리의 다른 글
PHP에서 다른 포트의 데이터베이스 연결 및 Access Denied 로그 확인 방법 (0) | 2025.02.18 |
---|---|
[긴급][중요][Fortigate][제로데이][CVE-2022-40684] Fortigate 방화벽 탈취 및 유출 : 사용자 보안을 위한 필수 조치 (0) | 2025.01.22 |
[MS][DNS][DIG] AD(ActiveDirectory) 윈도우 서버 DNS 통신 실패 및 지연 해결 방법 (0) | 2025.01.21 |
[NMAP][UDP] Nmap UDP 포트 스캔과 통신 불가능 대상 분석하기 (0) | 2025.01.12 |
서버로 데이터 전송하기 (jQuery를 사용한 AJAX 방식) (0) | 2025.01.07 |