네, 말씀하신 문제는 Angular와 같은 Single Page Application (SPA)에서 흔히 발생하는 라우팅 이슈입니다. 서버 사이드에서 직접 URL에 접근할 때 404 오류가 발생하는 것은 Nginx가 해당 경로를 실제 파일 경로로 인식하기 때문입니다.
이 문제를 해결하기 위해 Nginx 설정을 수정해야 합니다. 다음과 같이 변경해 보세요:
server {
server_name chajatda.com;
root /home/ubuntu/landing;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# 나머지 SSL 설정 등은 그대로 유지
# ...
}
주요 변경 사항은 location / 블록 내의 try_files 지시어입니다. 이렇게 설정하면 Nginx는 다음 순서로 파일을 찾습니다:
이렇게 하면 Angular 라우터가 클라이언트 사이드에서 경로를 처리할 수 있게 됩니다.
설정을 변경한 후 다음 명령어로 Nginx 설정을 테스트하고 재시작하세요:
sudo nginx -t
sudo systemctl restart nginx
이렇게 하면 직접 URL 접근 시에도 404 오류 없이 페이지가 정상적으로 로드될 것입니다.
추가로, Angular 프로젝트에서 index.html의 <base> 태그가 올바르게 설정되어 있는지 확인하세요. 예를 들어:
<base href="/">
이렇게 설정하면 Angular 라우터가 올바르게 작동할 수 있습니다.
이 설정들을 적용한 후에도 문제가 지속된다면, 추가적인 정보나 로그가 필요할 수 있습니다. 그럴 경우 알려주시면 더 자세히 살펴보겠습니다.