보μ λͺ¨λΈ
μ΄ νλ‘μλ μ λ’°ν μ μλ λ¨μΌ μ¬μ©μ κ°λ°μ μν¬μ€ν μ΄μ μ μν΄ μ€κ³λμμ΅λλ€. μλμ κ²½κ³λ ν΅μ¬ μ μ 쑰건μ λλ€ β λ€λ₯Έ νκ²½μ λ°°ν¬νκΈ° μ μ λ°λμ μ½μ΄λ³΄μΈμ.
κ³ μ λΆλ³ νλͺ©
μΉμ μ λͺ©: βκ³ μ λΆλ³ νλͺ©βμ΄ νλͺ©λ€μ μ€μ μ΄λ νκ²½ λ³μλ‘ λ³κ²½ν μ μμ΅λλ€:
- 루νλ°± λ°μΈλ© μ μ©.
127.0.0.1:3817, νλμ½λ©λ¨. νΈμ€νΈλ μλμ μΌλ‘ μ€μ λΆκ°λ₯ν©λλ€. - μΈλ°μ΄λ μμ²μ 100 MiB λ³Έλ¬Έ ν¬κΈ° μ ν. λ‘컬 ν΄λΌμ΄μΈνΈμ κ³ΌλΆνλ₯Ό λ°©μ΄ν©λλ€.
- κ²½λ‘ μ λ¬μ 1:1. κ²½λ‘ μ¬μμ± μμ, νμ© λͺ©λ‘ μμ (μλλ μ€κ³ β ν¬λͺ νλ‘μ).
- ν΄λΌμ΄μΈνΈκ° μ 곡ν
X-Git-Remoteλ μ κ±°λ©λλ€. κ²μ¬ λ―Έλ€μ¨μ΄κ° μ€νλκΈ° μ μ μ κ±°λ©λλ€. λ‘컬 νλ‘μΈμ€λ attributionμ μμ‘°ν μ μμ΅λλ€. - Authorization λ° x-api-keyλ κ·Έλλ‘ μ λ¬λ©λλ€. νλ‘μλ νΈμΆμλ₯Ό μΈμ¦νμ§ μμΌλ©°, Bifrostκ° μ ν¨μ±μ κ²μ¬ν©λλ€.
- Authorization κ°μ μ λ κΈ°λ‘λμ§ μμ΅λλ€.
has_auth=true/falseλΆλ¦¬μΈλ§ κΈ°λ‘λ©λλ€. - μμ 쿼리 λ¬Έμμ΄μ κΈ°λ‘λμ§ μμ΅λλ€.
has_query=true/falseλ§ κΈ°λ‘λ©λλ€.
μ λ’° κ²½κ³
μΉμ μ λͺ©: βμ λ’° κ²½κ³ββββββ μ λ’°λ¨ βββββββ βββββββ μ λ’°λμ§ μμ ββββββββ μ¬μ©μ β β λ€νΈμν¬ ββ μ¬μ©μμ IDE β β λͺ¨λ LAN νΈμ€νΈ ββ λ‘컬 νλ‘μΈμ€ β β λ€μ€ μ¬μ©μ λ¨Έμ μ βββββββββββββββββββββ β λ€λ₯Έ λͺ¨λ μ¬μ©μ β βββββββββββββββββββββββββββββνλ‘μλ λμΌ λ¨Έμ μ λ‘컬 νλ‘μΈμ€λ₯Ό μ λ’°ν©λλ€: λ‘컬 νλ‘μΈμ€κ° μ 곡νλ Authorization / x-api-key ν€λλ₯Ό κ·Έλλ‘ μ λ¬ν©λλ€.
νλ‘μκ° λ°©μ΄νμ§ μλ κ²
μΉμ μ λͺ©: βνλ‘μκ° λ°©μ΄νμ§ μλ κ²β- νλ‘μ μΈμ¦. μμ. 루νλ°±μ λλ¬νλ λͺ¨λ κ²μ΄ μ λ¬λ©λλ€.
- μν¬λ¦Ώ μ μ₯. μμ. νλ‘μλ μν¬λ¦Ώμ 보μ νμ§ μμΌλ©°, API ν€λ₯Ό μ½μ§ μμ΅λλ€. ν΄λΌμ΄μΈνΈκ° μμ²λ§λ€ ν€λμ μ 곡ν©λλ€.
- μλ μ ν. μμ. νλ‘μλ ν¬λͺ ν©λλ€ β Bifrostκ° μΏΌν°λ₯Ό μ²λ¦¬ν©λλ€.
- μ¬μ μ‘ λ°©μ§ / μλͺ . μμ. μμ λμΌν©λλ€.
- κ°μ¬ μμ§. μμ. λ‘κ·Έλ λ‘컬μ λλ€. μ€μνλ ν λ λ©νΈλ¦¬λ λ²μ λ°μ λλ€.
μ½λμ μ¬μΈ΅ λ°©μ΄ μ‘°μΉ
μΉμ μ λͺ©: βμ½λμ μ¬μΈ΅ λ°©μ΄ μ‘°μΉβ| λ μ΄μ΄ | λμ |
|---|---|
| pprof κ°λ | pprof.enable: trueμΈ κ²½μ°, μμ μ λ°μΈλ© μ£Όμκ° λ£¨νλ°±(127.0.0.1, localhost, ::1)μΈμ§ κ²μ¦λ©λλ€. LAN λ°μΈλ©μ κ±°λΆλ©λλ€. |
http.MaxBytesHandler | λͺ¨λ μΈλ°μ΄λμ 100 MiB λ³Έλ¬Έ ν¬κΈ° μ ν μ μ©. |
requestLogger μ€ν¬λ½ | Authorization, x-api-key, Cookie, Set-Cookieκ° λλ
νλ©λλ€ (μ‘΄μ¬ μ¬λΆλ§ κΈ°λ‘). |
| μμ ν μλΈνλ‘μΈμ€ | git remote -v, lsof, ps λͺ¨λ exec.CommandContextμ Cmd.Dir μ¬μ© (git -C cwd μλ) β μ
Έ μμ, μΈν°ν΄λ μ΄μ
μμ. |
| νμμμ κ°λ | git remote -v λ° νλ‘μΈμ€ κ²μ¬μ 2μ΄; ReadHeaderTimeout 30μ΄. |
| νλ¬Έ μ μ€νΈλ¦Ό κ²½κ³ | upstream_urlμ΄ http://λ‘ μμνλ©΄ μλͺ»λ μ€μ μ΄ μ‘°μ©ν λμ΄κ°μ§ μλλ‘ νλ‘μκ° μμ κ²½κ³ λ₯Ό κΈ°λ‘ν©λλ€. |
νλ«νΌλ³ κ²μ¬ μ£Όμ μ¬ν
μΉμ μ λͺ©: βνλ«νΌλ³ κ²μ¬ μ£Όμ μ¬νβ- Linux
/proc/<otherUser>/fd/*λ EACCESλ₯Ό λ°νν©λλ€ β λ€λ₯Έ μ¬μ©μμ κ²μ¬λ μλμ μΌλ‘ μ§μλμ§ μμ΅λλ€. νλ‘μλX-Git-Remoteν€λ μμ΄ μμ²μ μ λ¬ν©λλ€. - macOSλ
lsofλ₯Ό μ¬μ©ν©λλ€.lsofκ° μκ±°λ μ νλ κ²½μ°, attributionμ ν€λ μμμΌλ‘ ν΄λ°±ν©λλ€. - Windows PEB νμμ
SeDebugPrivilegeκ° νμν©λλ€ (λ¨Έμ μ 체 μλΉμ€μ LocalSystemμ κΈ°λ³Έμ μΌλ‘ μ΄λ₯Ό 보μ ). 32λΉνΈ λμ νλ‘μΈμ€λ μ§μλμ§ μμΌλ©°ErrUnsupportedBitnessλ₯Ό λ°νν©λλ€.
ν₯ν κ³ν
μΉμ μ λͺ©: βν₯ν κ³νβ- λ€μ€ μ¬μ©μ Linux/macOS νΈμ€νΈμμ κ΅μ°¨ μ¬μ©μ μ°κ²°μ κ±°λΆνλ μ νμ
SO_PEERCRED/LOCAL_PEERCREDpeer-UID νμΈ. - μ€μ κ°λ₯ν λ³Έλ¬Έ ν¬κΈ° μ ν (νμ¬ μ»΄νμΌ νμ μμ).