> [!date] published: 2022-12-16
짧고 간단히 정리할 예정 (문제 고민 시간은 길었으나 결론은 간단했다.)
## 🌟 문제 1. Index.php 외 모두 404에러
말 그대로 index.php 외의 리소스에서는 모두 404 에러가 떴다. 모두 파일이 존재하고 있었고 index.php와 동일한 경로에 있음에도 불구하고 뭐는 찾고 뭐는 못찾으니 환장..
관찰력이 부족해서 꽤 오래 고민했는데 알고 보니 요청을 보낼 때 기본적으로 wordpress/ 경로를 붙여서 보내줬는데, 받는 쪽에서는 root를 wordpress/ 경로로 잡아 버리니 nginx 측에서는 /wordpress/wordpress/ 를 찾게 되어 문제가 발생하는 것이었다.
따라서 nginx configration 파일의 기본 root와 php 확장자 location block의 root를 /var/www/html/ 경로로 바꾸어주니 문제는 해결되었다.
문제는 이러한 조치가 다음 문제를 발생시킨 것이었음...
## 🌟 문제 2. localhost로 root/wordpress를 접근할 수 없음
서브젝트에서는 localhost로 접근했을 때 나의 웹 페이지를 보여줘야 한다고 되어 있었다. (서브젝트의 Mandatory 파트에서 언급되는 웹사이트는 워드프레스밖에 없으므로 워드프레스를 말하는 것으로 추정됨)
문제는 위에서 root를 바꾸어주는 바람에 일단 로컬호스트로 접근하면 /var/www/html/ 폴더, 즉 wordpress 폴더 밖에 없는 폴더를 접근하기 때문에 403 에러를 띄우는 것이었다.
이 문제는 리다이렉트를 하는 방법으로 성공함. (웹서브 감사합니다!!!!)
그냥 냅다 / location block에 301 리다이렉트를 걸어버리면 재귀적으로 리다이렉트되기 때문에 수 제한으로 블락이 된다.
따라서 / location block에 301 리다이렉트를 걸고, wordpress/ location 블록을 하나 더 만들어서 try_files 구문을 넣는 방법으로 해결했다.
... 근데 지금 와서 생각해보니까 그냥 /var/www/html 폴더 하위에 바로 wordpress 파일들을 받아버리면 더 깔끔하게 해결되지 않을까 싶어서 내일 (...) 한번 시도해 볼 생각이다.
## 🌟 To do
- 서브젝트의 세부적인 요구사항 다시 확인하기
- 안정성 높이기 (depends_on 옵션을 너무 믿지 맙시다)
- 502 에러 수정할 수 있는 방법 알아보기
- 납득되지 않았던 해결 방법들에 대해서 납득하거나, 납득할 수 있는 해결방법으로 고치기
- 부족한 개념들 마저 공부하기
- 주석달아 정리하기