Apache 또는 Nginx와 같은 웹서버(HTTPd)를 설치한 후 정상동작이 되지 않고 "This site can't be reached"라는 에러 메시지가 나타나는 경우를 볼 수 있는데 많은 원인 중의 하나가 주로 방화벽에서 해당포트의 트래픽이 차단되어 나타나는 현상입니다. 방화벽은 네트워크단의 AWS방화벽에서 설정에 대한 오류가 있거나 Linux(Ubuntu 22.04.1 LTS)의 서버 방화벽에서 차단이 주요 원인입니다.
1. 증상
Apache 또는 Nginx가 설치된 상태에서 정상적인 동작 하다가 어느 순간 웹서버로 접근하면 아래의 화면을 만나게 됩니다.
2. 조치방법
경로상의 장애나 트래픽의 차단여부를 확인하는 과정이 필요합니다. AWS의 방화벽설정으로 트래픽 차단여부를 확인합니다. 웹서버(Apache 또는 Nginx)가 정상동작하는지 확인하고 서버의 방화벽에서 트래픽이 차단되었는지 확인합니다.
즉, 네트워크단의 방화벽 확인 -> 웹서버 작동여부 확인 -> 서버 방화벽 설정 확인 순으로 진행합니다.
1) AWS방화벽 확인
네트워크에서의 트래픽이 차단되어 있는지 확인합니다. "아마존웹서비스(AWS)에서 간단 방화벽 설정 따라 하기"를 참고하시기 바랍니다.
2) 웹서버 작동여부 확인
설치한 웹서버에 따라 사용명령어를 수행해서 웹서버의 운영에 대한 상태정보를 확인합니다.
1) Apache를 설치한 경우의 상태정보 확인
$ sudo systemctl status apache 또는 $ apache2 -v
2) Nginx를 설치한 경우의 상태정보 확인
$ sudo systemctl status nginx
4) 서버 방화벽 설정 확인
Ubuntu의 방화벽의 트래픽차단 여부를 확인합니다. 1)과 2) 확인에 문제가 없다면 대개는 서버 방화벽설정 오류로 인한 트래픽차단으로 홈페이지 로딩 시 에러 발생 가능성이 높습니다.
ubuntu@~$ sudo ufw status
Status: active
To Action From
-- ------ ----
Apache Full DENY Anywhere
Apache Full (v6) DENY Anywhere (v6)
ubuntu@ip-172-31-47-0:~$ sudo ufw allow 'Apache Full'
Rule updated
Rule updated (v6)
ubuntu@~$ sudo ufw status
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
2. 맺음말
저도 Apache 설치시점에서는 웹서버가 정상동작 됨을 확인했으나 갑자기 위와 같은 에러가 발생해서 장애요소를 찾느라 고생한 적이 있습니다. 서버 방화벽은 장애의 요소로 고려하지 않았는데 결론은 여기에서 트래픽이 차단되어 에러가 발생했고 Troubleshooting에 많은 시간이 소요된 적이 있어서 같은 문제발생으로 고민하시는 분들에게 도움이 되기를 기대합니다.
'관심분야' 카테고리의 다른 글
MySQL에서 MariaDB로 갈아타기 (0) | 2023.02.14 |
---|---|
Magento2.4 를 위한 Elasticsearch설치 (0) | 2023.02.13 |
Ubuntu에서 MySQL 로그 설정 및 장애대응 로그 확인 방법 (0) | 2023.02.11 |
AWS|EC2 마젠토 2.4 설치를 위한 Apache,Mysql,PHP설치하기 (0) | 2023.02.11 |
AWS|EC2 Ubuntu에서 사용자 생성 및 SSH접속하기 (0) | 2023.02.09 |
댓글