
내 웹 페이지는 AWS에서 호스팅되며 SSL로 변환되었습니다.
내 홈 네트워크 및 Wi-Fi 영역에 있는 내 컴퓨터와 스마트폰에서 페이지를 볼 수 있습니다. 하지만 외부(예: 외부 스마트폰에서 웹사이트 접속)에서는 해당 페이지에 접근할 수 없습니다.
그래서 보안 그룹과 포트 번호를 확인했습니다.
인바운드 규칙은 다음과 같습니다.
내가 언급한 매뉴얼에 따르면 괜찮은 것 같지만, 뭔가 잘못된 것이 있으면 알려주시기 바랍니다.
다음은 포트 443의 텔넷 명령 결과입니다.
죄송해요 일본어로 쓰여있네요. 호스트에 연결할 수 없다고 뜹니다. 포트 번호 443: 연결에 실패했습니다.
포트 443이 닫혀 있다는 뜻인가요??
아래에서 iptables -L -v -n을 시도했습니다.
AWS IP에 대한 컬 결과: 컬 -k -vv https://
작동하지 않는 것 같습니다.
로드 밸런서의 세부 사항
위에서 정보를 알아낼 수 있나요? 다른 정보가 필요하면 알려주세요.
대상 그룹
위에서 건강에 해로운 것을 볼 수 있습니다.
대상 그룹이 로드 밸런서에서 트래픽을 수신하도록 구성되지 않았습니다.
그리고 추가적으로 확인해야 할 부분이 있을 수도 있으니, 혹시 다른 부분을 보고 싶으시면 알려주시면 자세히 업데이트하도록 하겠습니다.
감사합니다.
답변1
AWS IP에 컬을 시도해 보세요
curl -k -vv https://<your aws ip>
.작동한다면 호스트 이름을 사용하여 동일한 작업을 시도하십시오. 이번에도 작동하지 않으면 DNS 문제입니다.
VM 내부에 방화벽이 있는지 확인하세요. 예를 들어:
iptables -L -v -n
. 대부분의 IP가 웹 서버에 액세스하지 못하도록 차단하는 일부 방화벽 규칙이 있을 수 있습니다.웹 서버 자체에 ACL이 있는지 확인하세요. 특정 IP 주소에서 들어오는 요청을 무시하도록 웹 서버를 구성할 수 있습니다. Apache를 사용하는 경우
Require
구성의 행을 확인하세요.
일반적으로 tcpdump -nni any port 443
서버에서 를 실행하고(tcpdump를 설치해야 할 수도 있음) 테스트를 반복할 수 있습니다. Tcpdump는 기본적으로 관련된 실제 패킷을 수집하고 표시하므로 일부 패킷이 포트 443의 서버에 도달하면 VM 외부에서 차단된 것이 없으며 문제는 서버와 관련된 것일 수 있습니다. 반면에 패킷이 표시되지 않으면 다른 것이 웹 서버에 액세스하는 것을 차단하고 있음을 의미합니다.
편집하다
로드 밸런서가 있는 경우 백엔드 서버의 443 포트를 올바르게 가리키고 있는지 확인하세요. 그렇지 않은 경우 로드 밸런서에 도달하는 트래픽은 HTTPS가 지원되지 않는 다른 포트(80?)로 리디렉션될 수 있으며 이로 인해 연결이 "중단"될 수 있습니다.