안녕하세요 선배님들!
스프링 부트 프로젝트로 개인 웹 서비스를 목표로 진행하다
막히는 부분이 있어 선배님들의 도움이 필요해 질문 올립니다ㅠㅠ
환경 : Linux, maven, AWS EC2, Spring boot
수행한 단계 : EC2 환경 세팅, 도메인 구매, HTTPS 연결까지 완료
발생한 문제 : 도메인으로 접근하면 403 오류 와 Apache 테스트 페이지가 표시
도메인 연결시 참고한 글 :
스프링 부트로 웹 서비스 출시하기(9-2 까지만 참고)
Amazon Linux 2에서 Cerbot의 Let’s Encrypt
구체적인 문제 상황과 코드 :
현재 EC2 세팅은 완료된 상태이고, .dev 도메인 구매와 HTTPS 연결(Let's Encrypt 인증서 등록)까지
완료한 상태입니다. Elastic IP과 포트로 연결(XXX.XXX.XXX.XXX:443)하면 프로젝트의 메인 화면을 볼 수 있습니다.
하지만, 구입 한 .dev 도메인으로 페이지를 접근하려하면
403 오류와 아래와 같은 Apache 테스트 페이지가 표시됩니다.
현재 문제가 발생하는 이유를 개인적으로 추측하자면 아래와 같습니다.
1) httpd.conf에서 프로젝트를 실행하기 위한 올바른 경로를 입력하지 않았거나
2) 경로는 올바로 입력했으나 권한 설정이 올바르지 않거나
그래서 httpd.conf 파일을 수정하고,
실행하려는 디렉토리의 권한을 변경해 봤지만, 여전히 문제가 해결되지 않았습니다.
실행해야하는 파일의 경로는
"/home/ec2-user/project/src/main/WEB-INF/views/home.jsp"에 있습니다.
아래 부터는 코드입니다.
etc/httpd/conf/httpd-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/home/ec2-user"
ServerName "test.dev"
ServerAlias "www.test.dev"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/test.dev/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/test.dev/privkey.pem
</VirtualHost>
</IfModule>
etc/httpd/conf/httpd.conf
# set IP addresses
Listen 80
<VirtualHost *:80>
DocumentRoot "/home/ec2-user"
ServerName "test.dev"
ServerAlias "www.test.dev"
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.test.dev [OR]
RewriteCond %{SERVER_NAME} =test.dev
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
# set Deny entirety <- default
<Directory />
AllowOverride none
Require all denied
</Directory>
# Directory custom setting
DocumentRoot "/home/ec2-user"
<Directory "/home/ec2-user">
AllowOverride None
Require all granted
</Directory>
<Directory "/home/ec2-user">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
# Index position custom setting
<IfModule dir_module>
DirectoryIndex /project/src/main/webapp/WEB-INF/views/home.jsp
</IfModule>
Error log
[core:error] [pid 7748] (13)Permission denied: [client XXX.XXX.XXX.XXX]
AH00035: access to /project/src/main/webapp/WEB-INF/views/home.jsp denied
(filesystem path '/home/ec2-user/project/src') because search permissions are missing
on a component of the path
ec2-user's permissions
project's permissions
개발이 익숙하지 않아 질문도 장황한 것 같아 죄송하지만 ㅠㅠ
혼자서 해결하기 버거워 질문 드립니다. 긴글 읽어주셔서 감사합니다!