갑작스레 호스팅중이였던 GitLab에 Forbidden 에러가 발생했다.
증상은 GitLab에 접속하게 되면 아래와 같이 Forbidden 문구가 출력됐다.
에러 추적 과정
- 제일 먼저 GitLab 서버가 죽었는지 확인을 하고, 좀비 프로세스 상태가 아닌지도 확인을 해봐야한다.
- 프로세스 상태는 정상인데, 접근이 안된다면 GitLab 앞단에서 막을 수 있기에 Accesslog를 확인하여 어디서 막히는지 확인한다.
- 이때 난 Accesslog에 다른 IP들로는 접속이 되고 있는 것을 확인하여, Wifi를 통해 접근해보니 접속이 되었다.
- 결과적으로 GitLab에서 내 IP를 제한하고 있다는 것을 깨달았고 Redis에 해당 Key를 확인하게 되었다.
Block IP 해제하기
GitLab Redis에서 Block IP를 해제하는 방법은 생각보다 쉬웠다.
sudo /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket
keys cache:gitlab:rack::attack:allow2ban:ban:*
del cache:gitlab:rack::attack:allow2ban:ban:<ip 주소>
위처럼 redis-cli를 통해 Gitlab Redis에 접속 후 ban되어있는 IP를 확인하여 해당 값을 삭제한다.
갑작스레 에러가 발생하면, 해당 에러의 증상부터 파악하는 것이 원인을 빠르게 찾는 답인 것 같다.