외부에서 apache2에 접근할 수 없습니다.

외부에서 apache2에 접근할 수 없습니다.

탄력적 IP를 사용하여 AWS EC2(Ubuntu)에서 apache2 서버용 기본 사이트를 호스팅하고 있습니다.

모든 인바운드를 열도록 설정된 보안 그룹(테스트 목적)

공용 IP를 사용하여 SSH를 통해 서버에 액세스할 수 있지만 HTTP를 통해서는 액세스할 수 없습니다.

(를 사용하여) localhost에서 사이트를 탐색할 수 있습니다 lynx 127.0.0.1.

동일한 서브넷에 있는 다른 EC2에서 사이트를 탐색할 수도 있습니다.

내 iptables는 다음과 같습니다.

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

열린 포트:

tcp               LISTEN             0                  128                                   0.0.0.0:22                                 0.0.0.0:*                                  
tcp               LISTEN             0                  511                                         *:80                                       *:*                                  
tcp               LISTEN             0                  128                                      [::]:22                                    [::]:*                                  
tcp               LISTEN             0                  511                                         *:443                                      *:*  

방화벽이 비활성화되어 있습니다.

또한 동일한 서브넷에서 회전한 두 번째 VM에 nginx를 설치하려고 시도했지만 흥미롭게도 웹 서버 또는 포트 80에 액세스할 수 없습니다.

이제 별도의 서브넷에 새 인스턴스도 생성했지만 여전히 HTTP를 통해 연결할 수 없습니다. 하지만 SSH를 통해 연결할 수 있습니다.

내가 무엇을 놓치고 있는지 잘 모르겠습니다.

업데이트 1:

그것은 매우 이상합니다. 또한 액세스할 수 있는 해당 컴퓨터에서 MySQL을 실행하고 있습니다. 라우팅 및 보안 그룹은 모두 올바른 것 같지만 어떤 이유로 HTTP 및 HTTPS 트래픽이 무언가에 의해 차단되고 있습니다.

업데이트 2:

VPC에서 흐름 로그를 켰고 포트 80에 대한 모든 요청이 거부되었으며 22 및 3306이 문제 없이 들어왔습니다.

my.ip.goes.here. 10.1.1.68 64087 80 6 1 64 1694528397 1694528415 REJECT OK

네트워크 ACL모든 인바운드 및 아웃바운드를 허용하도록 설정되었습니다.

100 All traffic All All 0.0.0.0/0   Allow
*       All traffic All All 0.0.0.0/0   Deny

보안 그룹들어오고 나가는 모든 트래픽을 허용합니다.

All Traffic 0.0.0.0/0

이것은 점점 더 이상해지고 있습니다.

답변1

tspdump를 사용하여 패킷을 추적해 보십시오(패킷이 호스트에 도착하는지 여부). 패킷이 도착하면 분명히 서버의 무언가가 패킷을 차단하거나 폐기하고 있는 것입니다. 모든 방화벽 규칙을 완전히 재설정하거나 더 나은 방법은 테스트를 위해 완전히 끄는 것입니다. 우선, 웹 서버 설정을 확인하세요. 뭔가가 올바르게 구성되지 않았을 가능성이 있습니다. 간단한 정적 페이지를 삽입하고 이러한 조치를 조합해 보십시오. 문제를 확실히 파악할 수 있습니다.

답변2

해결책을 찾았습니다.

나는 포트 81에서 nginx를 열었는데 정상적으로 작동했기 때문에 모든 웹 포트만 차단해야 한다고 생각했습니다.

약간의 조사 끝에 이는 내 EC2가 "EC2 남용 보고서"로 보고되었기 때문입니다.

수백만 개의 이메일 사이에 다음과 같은 이메일이 있었습니다.

귀하의 AWS 계정에 있는 리소스와 관련된 남용 보고서가 접수되었습니다. 결과적으로 우리는 활동을 완화하기 위해 관련 리소스에 대해 다음 조치를 취했습니다.

** 해당 지역에서 차단된 인바운드 HTTP 포트 80,8080 및 443**

이전에는 해당 지역에 해킹을 당해 종료된 특정 소프트웨어가 설치된 다른 EC2 인스턴스가 있었습니다.

콘솔의 EC2 인스턴스에 어떻게든 표시되면 좋을 것입니다.

관련 정보