nginx 설정파일 root 설정 관련 문의
221
작성한 질문수 92
리액트 + 스프링부트로 개발을 진행 중에 있고, 강의를 따라서 리액프 프로젝트를 배포하고 있습니다. 그런데, 404 Not Found가 발생하여 이와 관련하여 문의드리고자 합니다.
우선 제 프로젝트의 위치는 ~프로젝트명/front/build/index.html과 같습니다. (저는 dist 대신 build가 뜨더라구요)
nginx의 설정파일에서 root에 '~/프로젝트명/front/build'로 할 때에는 404가 발생했는데, '/home/ubuntu/프로젝트명/front/build'하니까 404 오류가 없어졌습니다. 경로를 명확하게 명시해야 하는 것인가요?
추가로 요청 결과 403 Forbidden이 나왔는데 어떠한 이유 때문일까요... 로컬에서는 문제없이 동작합니다
답변 2
0
안녕하세요 도토리님! 질문 잘 주셨어요:D
인프런 AI 인턴이 잘 답변해준 것 같아서 AI 인턴 답변 한 번 더 차용하겠습니다!
Nginx 설정 시 root 나 alias를 사용할 때는 절대 경로를 명확히 설정해야 합니다.
~/프로젝트명/front/build와 같은 경로는 사용자 홈 디렉토리를 나타내지만, Nginx는 시스템 전역에서 접근하는 역할을 하기 때문에 절대 경로인/home/ubuntu/프로젝트명/front/build로 지정해야 정상적으로 파일을 찾을 수 있습니다.
조금 더 덧붙이자면 ~의 어떤 사용자(ex. ubuntu, root 등)냐에 따라 경로가 달라집니다.
따라서 명확히 설정하기 위해서는 절대 경로로 설정하는 걸 추천드립니다!
추가로 403 Forbidden 에러는 어떤 상황에서 발생했는 지
알려주실 수 있을까요~??
그리고 403 Forbidden 에러가 발생했을 때
/var/log/nginx/error.log와 /var/log/nginx/access.log의 로그도 같이
확인 후에 전달 부탁드릴게요:D
0
안녕하세요, 인프런 AI 인턴입니다. 도토리님.
Nginx 설정 파일에서 파일 경로 문제와 관련된 질문을 주셨네요. Nginx 설정 시 root 나 alias를 사용할 때는 절대 경로를 명확히 설정해야 합니다. ~/프로젝트명/front/build와 같은 경로는 사용자 홈 디렉토리를 나타내지만, Nginx는 시스템 전역에서 접근하는 역할을 하기 때문에 절대 경로인 /home/ubuntu/프로젝트명/front/build로 지정해야 정상적으로 파일을 찾을 수 있습니다.
403 Forbidden 오류에 대해서는 여러 가지 원인이 있을 수 있습니다. 일반적으로 다음 사항들을 확인해보세요:
파일 및 디렉터리 권한: 웹 서버 사용자(nobody, www-data 등)가 해당 디렉토리와 파일에 접근할 권한이 있는지 확인하세요. Unix/Linux 환경에서는
chmod,chown명령어를 통해 권한을 설정할 수 있습니다.Nginx 설정: Nginx 설정 파일에서
allow와deny옵션을 확인해 보세요. 특정 IP만 접근을 허용했거나 특정 경로에 대해 접근 제한이 설정되어 있을 수 있습니다.SELinux 설정: 만약 사용 중인 환경이 SELinux를 활성화하고 있다면, 접근이 제한될 수 있습니다. SELinux 설정을 확인하거나 임시적으로 비활성화하여 문제가 해결되는지 확인할 수 있습니다.
Access Token: Access token 관련 문제일 가능성도 있습니다. 배포 환경에서 추가적인 인증이나 권한 검사가 설정되어 있을 수 있습니다. 이 경우, 서버 코드에서 토큰 검사를 어떻게 처리하는지, 환경에 따라 다른 설정이 필요한지 확인하는 것이 좋습니다.
이 외에도 해결책이 필요하시다면 아래 링크를 통해 추가적인 답변을 확인하시기 바랍니다:
- 리액트 배포 시 404 에러 문제 해결하기: 이 게시물에서 비슷한 에러 상황을 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
iam 권한
0
4
1
수강기간 연장 가능하실까요?
0
13
2
강의 듣는 중인데,
0
22
1
혹시 아파치 서버 관련 책이나 사이트도 추천해주실수 있으신가요..?
0
63
2
스프링부트 서버에 proxy_pass 할 때 질문 있습니다
0
70
2
꼭 conf.d에 default 파일이 있는상태에서 시작해야하나요 ??
0
72
2
HTTPS 관련 코드 해석하기
0
78
2
default.conf 파일이 없습니다.
0
80
2
로드밸런싱 Server ID 출력에 관한 질문
0
54
2
default.conf
0
68
2
도메인 구매 시, AWS 결제 이력이 없으면 실패하니 참고바랍니다.
0
60
2
https는 백엔드에도 적용해야하나요?
0
125
2
Nginx의 성능을 알고 싶으면 리눅스 위에서 실행 시켜야 하잖아요..
0
96
2
챕터 22에대한 질문드립니다.
0
106
2
AWS EC2 인스턴스 생성하기 - 키페어 필요
0
136
2
https 적용 과정질문
0
185
2
프론트엔드 배포 역할 의미
1
141
2
도메인 네임 EC2에 연결하기
0
144
2
Vite 없이 React만 배포할 시
1
118
2
location = /50.x.html 블럭
0
120
2
NextJS 15버전의 경우 build 후 폴더가 다른 것 같습니다
0
358
2
상대경로 관련 질문드립니다!
0
156
2
nginx, DNS 순서 관련 질문
0
136
2
/etc/nginx/conf.d 디렉토리 내 default.conf가 없습니다
1
190
1





