💡/오류노트 (16) 썸네일형 리스트형 [GitHub] error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 푸시 에러 해결 mp4 영상으로 화면을 구성하는 작업을 하다가 mp4를 추가한 채로 커밋을 하니 아래와 같은 에러메시지가 발생했다. 원인이 에러는 Git 저장소에 너무 큰 파일(mp4 영상 파일)을 추가해서 용량 초과로 인해 발생한 것이다.* Git은 단일 푸시에 대해 최대 2GB 제한을 두고 있다.[GitHub Docs 푸시 제한 정보]https://docs.github.com/ko/get-started/using-git/troubleshooting-the-2-gb-push-limit 해결1. mp4 파일을 추적하지 않도록 .gitignore 파일에 추가# .gitignore에 mp4 파일 추가*.mp4 2. 최근 커밋 되돌리기이미 mp4 파일이 포함된 상태로 커밋을 했다면 최근 커밋을 취소한다.git res.. [PM2] PM2 동작하지 않는 문제(3000포트 리슨 안됨) 해결 문제운영 서버에서 PM2를 실행하는데 .env.local 파일을 읽는다.확인해보니 포트 3000에서 LISTEN하지 않고 있었다. 그래서 npm run start를 수동으로 실행해야만 API가 정상적으로 작동하는 문제가 발생했다. pm2 설정이 필요한 분들은 아래 글을 참고해주세요!2024.08.26 - [💡/오류노트] - [Caddy] 3000포트가 열리지 않는 문제 해결(+PM2) 원인PM2에 환경 변수 설정 누락PM2를 설정할 때 NODE_ENV를 설정하지 않아 기본값인 development 환경으로 실행된 것이다.package.json의 start 스크립트에 NODE_ENV=production을 명시해놨다고 해도 PM2 실행할 때 설정하지 않았다면 적용되지 않는다. "scripts": .. [SSH] Broken pipe 에러 해결 SSH로 서버에 연결해 작업하다가 Broken pipe가 뜨면서 연결이 강제로 끊겼다.Read from remote host ec2-3-38-246-40.ap-northeast-2.compute.amazonaws.com: Connection reset by peerConnection to ec2-3-38-246-40.ap-northeast-2.compute.amazonaws.com closed.client_loop: send disconnect: Broken pipe 서버는 일정 시간 동안 아무 작업도 하지 않으면 연결을 자동으로 끊도록 설정되어 있다. 리소스를 절약하고 보안을 강화하기 위함이다.해결 방법은 간단하다. 1. 터미널에서 SSH 설정 파일을 연다.nano ~/.ssh/config 2. .. [PM2] No process found 에러 해결 인스턴스를 재부팅하고 pm2 restart all 명령어를 실행했더니 [PM2][WARN] No process found 에러가 발생했다.현재 PM2에 등록된 프로세스가 없다는 것이다.재부팅하면서 PM2의 상태를 저장하지 않았거나 PM2가 자동으로 시작되지 않았기 때문이다. 해결1. PM2 상태 확인출력된 리스트가 비어 있다. PM2에 등록된 프로세스가 없음을 의미한다.$ pm2 list 2. PM2 복원저장된 프로세스 상태를 복원하기 위한 명령어를 실행한다.$ pm2 resurrect 3. PM2 상태 저장재부팅 후에도 PM2 프로세스를 자동으로 복원하기 위해 현재 프로세스를 저장한다.$ pm2 save 이 명령어는 현재 실행 중인 프로세스 상태를 /home/ubuntu/.pm2/dump.p.. [SSH] EC2 SSH 접속시 port 22: Operation timed out 에러 해결 상황ssh 접속하려고 하니 port 22 타임아웃 에러가 났다.전 날 ssh 접속 후 작업을 끄내고 exit 명령어를 치지 않아 logout되지 않은 상태에서 하루가 지났다.이렇게 서버가 과부하 상태일 때 종종 이 에러가 발생하는데 다행히도 해결방법은 간단하다. SSH란?SSH(Secure Shell)는 네트워크 환경에서 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 교환할 수 있는 보안 프로토콜이다.SSH 프로토콜의 표준 포트로 port 22이 지정되어 있기 때문에 SSH를 통해 서버에 접속하려면 port 22를 사용한다. 해결1. AWS 인스턴스 상태 검사 확인상태가 1/2 검사 통과로 바뀌어있다. 인스턴스 연결성 검사가 실패되었다. 2. 인스턴스 재부팅인스턴스를 재부팅해준다.⚠️주의⚠️ .. [MySQL] Host 'xxx.xx.xx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 에러 해결 EC2 환경에서 MySQL에 접속하려고 하니 아래와 같은 에러가 발생했다. 원인MySQL 서버가 특정 IP에서 너무 많은 연결을 감지해서 해당 IP 주소의 연결을 차단했다.반복적인 비정상 연결 시도를 방지하기 위해 MySQL의 보안이 작동한 것이다. 해결차단된 IP를 해제하려면 호스트 캐시를 비워야 한다.추가로 동일한 문제가 다시 발생하지 않도록 설정해보자. [MySQL 호스트 캐시 설정]https://dev.mysql.com/doc/refman/8.0/en/host-cache.html#host-cache-operation MySQL :: MySQL 8.0 Reference Manual :: 7.1.12.3 DNS Lookups and the Host Cache7.1.12.3 DNS Lookups.. [Caddy] 3000포트가 열리지 않는 문제 해결(+PM2로 무중단 서비스 적용) 서론로컬에서 API를 추가 구현하고 클라우드 서버에 pull 받아 기능을 테스트하는 도중 여러 가지 문제가 발생했다.Connection reset by port 22, port 22: Operation timed out, Connection closed by port 22, port 22: no matching host key type found 등 다양한 SSH 포트 접속 에러를 맞이하다가 새로운 인스턴스를 생성하여 볼륨 설정을 다시 해준 후 SSH로 접속할 수 있었다.그런데 평소에 Node.js 애플리케이션을 자동으로 실행해왔던 Caddy가 말썽이다.sudo systemctl restart caddy 명령어를 실행해도 3000포트가 열리지 않아 node app.js 명령어를 통해 수동으로 3000포트.. [MySQL] connect ECONNREFUSED 127.0.0.1:3306 에러 해결 프로젝트 서버를 시작하는데 에러가 발생했다.에러 내용은 MySQL 서버에 연결이 거부되었다는 뜻이다. 이렇게 되면 mysql 서버 접속도 불가능할 것이다. 해결방법은 간단하다 : ) 1️⃣ DB_HOST 수정DB_CONNECTION=mysqlDB_HOST=127.0.0.1 //localhost를 127.0.0.1로 수정DB_USERNAME=rootDB_PASSWORD=my_passwordDB_DATABASE=db_nameDB_PORT=3306DB_LOGGING=TRUE 이미 DB_HOST가 127.0.0.1로 설정되어 있다면 2️⃣번을 시도해보자 2️⃣ MySQL 서버 시작먼저, MySQL 서버가 설치되어 있는지 확인한다.$ which mysqld/opt/homebrew/bin/mysqld명령.. [MySQL] [HY000][1130] "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server". 에러 해결 프로젝트 초기에 MySQL을 연결하면서 똑같은 에러가 발생했었다.그 때 Password를 한번 더 입력해주면 해결이 되었었다.. 그리고 며칠 후 다시 마주한 에러[HY000][1130] null, message from server: "Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server". 이번엔 지난번에 했던 방법으로 해결되지 않아 에러 내용을 자세히 살펴보게 되었다. MySQL 서버가 특정 IP 주소나 호스트로부터의 연결을 허용하지 않도록 설정되어 있기 때문에 발생한 에러이다. 기본적으로 서버는 보안상 로컬에서만 접속이 가능하도록 설정되어 있기 때문에 외부 IP 주소에서의 접속은 차단된다.이를 해결하기 위해 MySQL 사용자 계정.. [Caddy] 웹 서버 설치 중 에러 해결 service failed 에러 발생Caddy라는 HTTPS를 자동으로 설정해주는 간편한 서비스를 이용하면서,Caddy를 설치하고 실행할 때 systemctl 명령어를 입력하는데 실패했다는 에러가 발생하여 해결 과정을 정리했다.$ sudo systemctl start caddyJob for caddy.service failed because the control process exited with error code.See "systemctl status caddy.service" and "journalctl -xeu caddy.service" for details. 이 때 다음 명령어를 실행하여 자세한 원인을 파악할 수 있는데, 오류가 발생하는 주요 원인은 3가지로 나뉠 수 있다.$ systemct.. 이전 1 2 다음