Gitlab 透過nginx-prxy 代理 SSH Clone

為了好管理專案所以做了一台nginx-proxy 機器,統一管理所有資源以及替換憑證,但後來遇到gitlab 在進行 ssh clone 時, 因為nginx-proxy 沒有代理22 port 造成其他人員的困擾。
在操作的同時請先確認Gitlab 是否有開放相對應的port 權限給nginx-proxy 機器,而操作步驟只要在nginx 新增一行即可。
切記在新增時 是新增在http之外 而不是在http以內。
http{
# xxxxxx
# xxxxxx
}
stream {
upstream gitlab_ssh {
server 10.0.1.1:22;
}
server {
listen 8591 ;
proxy_pass gitlab_ssh;
}
}
而最終在進行SSH Clone 時
Origin -> [email protected]:test/prj.git
如果直接使用以下範例就會報錯
git clone [email protected]:8591/test/prj.git
要修改為
git clone ssh://[email protected]:8591/test/prj.git