전체 글 30

예약을 발행처에 맡겼을 때 생기는 상태 불일치와 동기화

워드프레스 자체 예약 기능에 발행을 맡기면 편합니다. 상태를 예약으로 보내면 내 서버가 꺼져 있어도 그 시각에 발행됩니다. 그런데 편한 만큼 한 가지 사각지대가 생깁니다. 예약을 걸어둔 내 관리 시스템은 발행이 실제로 일어났는지 알 방법이 없다는 점입니다. 이 글은 그 상태 불일치를 어떻게 맞췄는지에 대한 기록입니다.증상: 발행됐는데 대시보드는 예약 중발행 시각이 지났고 워드프레스에서는 글이 공개됐는데, 내 대시보드에는 여전히 예약 중으로 남아 있었습니다. 발행 시각이 지난 예약을 지연으로 표시하는 로직 때문에, 정상 발행된 글이 사고처럼 빨간 경고로 떴습니다. 실제로는 아무 문제가 없었는데도요.wordpress status: publish (published)dashboard status: ..

서버 설정을 못 건드릴 때 헤더 유실 지점 찾기 (진단 파일)

앞 글에서 워드프레스 REST 401의 원인이 Authorization 헤더 유실이라는 걸 확인했습니다. 그런데 헤더가 정확히 어디서 사라지는지 모르면 고칠 지점을 못 정합니다. 프록시일 수도, 웹서버일 수도, PHP 처리 단계일 수도 있습니다. 이 글은 서버 구성을 마음대로 못 바꾸는 상황에서 헤더 유실 지점을 좁히는 방법입니다.왜 지점부터 찾아야 하나헤더가 사라지는 경로는 여러 겹입니다. 브라우저에서 나간 요청이 CDN이나 리버스 프록시를 거치고, 웹서버로 들어와, PHP로 전달됩니다. 각 구간에서 Authorization 헤더가 떨어질 수 있습니다. 어림짐작으로 설정을 이것저것 바꾸면 시간만 버리고, 운이 나쁘면 멀쩡하던 다른 것을 망가뜨립니다. 그래서 고치기 전에 어디서 사라지는지부터 확정해야 합..

워드프레스 REST 401, 비밀번호가 아니라 Authorization 헤더 문제

워드프레스 REST API로 글을 발행하려면 인증이 필요합니다. 애플리케이션 비밀번호를 발급해 Basic 인증으로 보내면 되는데, 분명히 맞는 비밀번호인데도 401만 돌아오는 경우가 있습니다. 이 글은 그 401의 진짜 원인을 찾는 과정을 정리한 기록입니다. 결론부터 말하면 비밀번호가 틀린 게 아니었습니다.증상: 읽기는 되는데 쓰기만 401공개 글 목록을 읽는 요청은 잘 됩니다. 인증이 필요 없으니까요. 문제는 인증이 필요한 요청입니다.GET /wp-json/wp/v2/posts → 200 (인증 불필요)GET /wp-json/wp/v2/users/me → 401 rest_not_logged_inPOST /wp-json/wp/v2/posts → 401응답 코드는 r..