diff --git a/troubleshooting/250907_gitea_https_clone_failure.md b/troubleshooting/250907_gitea_https_clone_failure.md index da010cb..9b1b8b1 100644 --- a/troubleshooting/250907_gitea_https_clone_failure.md +++ b/troubleshooting/250907_gitea_https_clone_failure.md @@ -1,7 +1,7 @@ # Gitea HTTPS 클론 실패 - TLS 패킷 디코딩 오류 ## 작성일: 2025-09-07 -## 작성자: 51123 서버 관리자 +## 작성자: happybell80 ## 환경: Ubuntu 22.04, Gitea 1.23.8 (최신: 1.24.5), nginx HTTP/2 ## 문제 증상 @@ -10,13 +10,13 @@ HTTPS를 통한 Git 클론 시 TLS 패킷 디코딩 오류로 실패 ### 에러 메시지 ```bash # HTTP/2 사용 시 -error: RPC 실패; curl 92 HTTP/2 stream 0 was not closed cleanly: INTERNAL_ERROR (err 2) -error: 4608 bytes of body are still expected +error: RPC failed; curl 92 HTTP/2 stream 7 was not closed cleanly: INTERNAL_ERROR (err 2) +error: 497 bytes of body are still expected fetch-pack: unexpected disconnect while reading sideband packet # HTTP/1.1 강제 사용 시 -error: RPC 실패; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet. -error: 716 bytes of body are still expected +error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet. +error: 663 bytes of body are still expected ``` ## 검증 과정 @@ -46,10 +46,10 @@ git -c http.version=HTTP/1.1 clone https://git.ro-being.com/... ## 해결 방법 ### 즉시 해결 (권장) -SSH 프로토콜 사용으로 우회 +SSH 프로토콜 사용으로 우회 (포트 51123 사용) ```bash # SSH 키 설정 후 -git clone git@git.ro-being.com:happybell80/company-x_hompage.git +GIT_SSH_COMMAND="ssh -p 51123" git clone git@git.ro-being.com:happybell80/company-x_hompage.git ``` ### 임시 해결 @@ -84,5 +84,25 @@ LFS_MAX_FILE_SIZE = 10485760 - nginx client_max_body_size 제한이 주요 원인 - Git GnuTLS vs OpenSSL 호환성 문제 +## 실제 해결 과정 (2025-09-07 21:56) + +### SSH 포트 발견 및 성공 +```bash +# 기본 22번 포트 연결 실패 +ssh -p 22 git@git.ro-being.com # Connection timed out + +# 51123 포트로 시도 → 성공! +ssh -i ~/.ssh/gitea_key -p 51123 git@git.ro-being.com # 연결 성공 + +# 51123 포트로 클론 성공 +GIT_SSH_COMMAND="ssh -i ~/.ssh/gitea_key -p 51123" \ + git clone git@git.ro-being.com:happybell80/company-x_hompage.git +``` + +### 핵심 교훈 +- **Gitea SSH 포트가 51123으로 변경되어 있었음** (보안상 22번 차단) +- HTTPS 클론 문제는 여전히 미해결 → SSH 51123 포트 사용 필수 + ## 결론 -SSH 프로토콜 사용이 가장 안정적이며, HTTPS 클론은 nginx/Git 버퍼 설정 조정으로 해결 가능 \ No newline at end of file +SSH 프로토콜 사용이 가장 안정적이며, HTTPS 클론은 nginx/Git 버퍼 설정 조정으로 해결 가능 +**중요: SSH 포트는 51123 사용**