인프런 커뮤니티 질문&답변

nathan님의 프로필 이미지

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]

AWS EC2 IP 접속 안되는 오류

작성

·

1.2K

·

수정됨

0

선생님 안녕하세요

좋은 강의 감사합니다.

 

섹션7- Dockerfile 작성을 위한 주요 명령 익히기 2 --> 15:20 에서요

 

웹브라우저에 IP주소를 치면 "자기 서버로 가면동일하게 웹페이지가 보여지는 것을 확인하실수 있고요" 라고 설명해주시는데요

제 AWS에 있는 퍼블릭 IPv4 주소, 또는 탄력적 IP를 입력해도 웹페이지가 뜨지 않습니다.

 

어떤 오류가 있는 것일까요?

 

 

docker logs 를 하니까 아래와 같은 오류가 나왔습니다.

 

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

[Sat Nov 11 05:55:25.996899 2023] [mpm_event:notice] [pid 1:tid 140509330770760] AH00489: Apache/2.4.58 (Unix) configured -- resuming normal operations

[Sat Nov 11 05:55:25.997037 2023] [core:notice] [pid 1:tid 140509330770760] AH00094: Command line: 'httpd -D FOREGROUND'

 

답변 1

0

안녕하세요. 답변도우미입니다.

현상만으로는 사실 너무 다양한 원인이 있을 수 있을 것 같은데요. 로그로도 외부 요인이 나타나지 않아서, 개인적인 의견은 처음부터 영상을 다시 보시면서, 각 단계를 정확히 하셨는지를 체크해보시는 것이 가장 좋을 것 같습니다.

이외에 참고할만한 체크포인트도 다음과 같이 작성해서 공유드립니다.

먼저, 웹 페이지가 AWS 인스턴스의 IP 주소를 통해서 접속되지 않는 문제는 몇 가지 원인이 있을 수 있습니다:

1. Security Group 설정: AWS 인스턴스에 연결된 Security Group이 HTTP 또는 HTTPS 트래픽을 허용하고 있는지 확인해 주세요. HTTP는 80 포트, HTTPS는 443 포트를 열어야 합니다.

2. Docker 컨테이너 포트 매핑: Docker에서 컨테이너를 실행할 때 호스트의 포트와 컨테이너의 포트가 올바르게 매핑되어 있는지 확인해 주세요. 예를 들면, docker run -p 80:80 이미지명 같은 명령어를 사용해야 합니다.

3. 방화벽 설정: AWS 인스턴스의 방화벽 설정이나, 만약 사용 중이라면 자체 서버의 방화벽 설정이 HTTP/HTTPS 트래픽을 허용하고 있는지 확인해 주세요.

4. 웹 서버 설정: Apache가 올바르게 설정되어 있고 실행 중인지 확인해 주세요. docker logs의 출력을 보면 Apache 서버는 실행 중인 것 같지만, ServerName이 설정되지 않아서 경고 메시지가 나타나고 있습니다.

docker logs에서 나타난 오류 메시지는 Apache 서버가 자신의 정규화된 도메인 이름을 신뢰성 있게 결정할 수 없다는 경고입니다. 이 경고는 단순 경고라서, 에러가 날 정도의 문제는 아닙니다.

감사합니다.

nathan님의 프로필 이미지
nathan
질문자

80:80 이 무슨 의미이실까요?

 

수업자료와 수업을 보면 9999:80 이라고 되어있어서요.

 

docker hub 에서 httpd 이미지를 다운받고

 

docker run -d -p 9999:80 --name apaceweb2 httpd 로 컨테이너를 돌리고

 

웹브라우저에 Public IP:9999 (예 : 13.209.190.231:9999 ) 를 쳐서 들어가는 것이 아닌가요?

nathan님의 프로필 이미지

작성한 질문수

질문하기