AWS 방화벽 포트 설정해도 접속 안될 때
iptables를 이용해서 포트번호를 설정했다.
저는 이번에 AWS 프리티어가 종료되면서 AWS EC2 서버를 Ubuntu에서 Amazon-Linux2023으로 이전하고 있습니다. 그러면서 새롭게 https를 적용 중인데요.
그런데 http로는 접속이 되는데 https로는 접속이 안되고 있는 상황에 빠져버렸습니다.
그래서 일단 아래처럼 방화벽도 확인했습니다.
sudo iptables -L -n -v

위 사진을 보면 8080포트와 443 포트가 ACCEPT 되어있는 것을 확인할 수 있습니다.
그런데 8080 포트(http)는 접속이 되는데 443 포트(https)는 접속이 계속 안되었습니다.
그래서 당연히 돼야 한다고 생각하는데 어떤 삽질을 해도 접속이 되지 않았습니다.
아무리 생각해 봐도 방화벽 문제 말고는 없었다.
그러다 REJECT가 눈에 들어왔습니다. 그리고 확인해 보니 iptables에는 우선순위라는 게 있다고 합니다.
명령어로 우선순위를 확인해 봤습니다.
iptables -S

8080은 위쪽에 있고 443은 비교적 아래쪽에 있습니다. 그리고 그 사이에 reject가 있습니다.
-A INPUT -j REJECT --reject-with icmp-host-prohibited 이 명령어는 들어오는 모든 패킷에 대해 거부하는 규칙이라고 합니다..
그래서 순서상으로 봤을 때
1. 8080 포트 허용
2. 모든 포트 거부
3. 443 포트 허용
위처럼 순서가 되어있다 보니 8080은 허용되고, 443은 거부되었습니다.
그래서 8080밑으로 보내려고 5번째 줄로 443포트의 우선순위를 바꿨습니다.
sudo iptables -I INPUT 5 -p tcp --dport 443 -j ACCEPT
순서를 바꾸고 나니 443 포트도 접속이 되면서 https 접속이 잘 되네요,,
ㅋ..ㅋ 뭔가 대학교 때 linux 시간에 배웠던 내용이었던 것 같은 기억이 어렴풋이 기억나는 거 같기도 하고..
하 이런 어이없는 걸로 삽질할 때마다 너무 짜증 나지만 별수 없네요.. 또 하나 배웠습니다~
'IT > AWS' 카테고리의 다른 글
| [AWS] VPC 피어링(VPC Peering) 설정 (0) | 2025.06.16 |
|---|---|
| AWS EC2 MySQL 설치 (Amazon-Linux2023) (1) | 2024.10.24 |
| AWS DB 덤프하는법 테이블, 데이터 추출하기 (2) | 2024.10.20 |
| AWS 프리티어 만료 후 계속 사용하는 법 (1) | 2024.10.19 |
| AWS 서버 중단 시 커스텀 화면 보여주기 (1) | 2024.10.18 |