go 引入带有端口号的 git 服务下的包问题
大神们 小公司把 git 域名弄了个 git.code.com:185 这样的访问域名,我该如何优雅的使用 go 公共包的引用啊?
我目前用 gitproxy.code.com 这个域名反代了一下 git.code.com:185 的服务,
我自己使用的 ubuntu 顺利通过了,可以直接 go get gitproxy.code.com/module 下的模块了
但是在 windows 同事的电脑上,go get 的时候就卡在认证失败。
还有更好的解决办法吗? 无法直接将 git.code.com 切换到到 80 端口上来(奇葩原因)
认证失败应该是反代没设置好
如果是 ssh ,git clone ssh://域名:端口/组织/仓库.git
感觉是 git clone 没带端口号问题
认证失败的错误是啥? https 证书错误?
可是我 ubuntu 下可以正常认证通过
clone 确实没有端口号的问题,但是在 go 代码里引入这个包的时候,链接中不能带端口号
remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. 我看了下账户没有开启 2FA
gomod 里 replace 掉试试 replace xxx:185 => ../xxx
就是不想用这种方式 才搞的 gitproxy,他们之前就用的 replace 到本地一个路径
目前我是 ubuntu 系统,已经正常使用了,他们 windows 的还不行
ssh ?
我记得我之前是在 git 的 config 里面配置的,具体忘了,感兴趣的话,可以搜一下
哦,我配的是 ssh 替换 https ,用的 insteadOf ,那里面能加端口号
git config --global url."gitproxy.code.com".insteadOf git.code.com:185
这样我让他们试试
你都自己部署了 干嘛要暴露带端口号的
我正好之前有研究过这个问题: blog.klusfq.cn/2024/08/16/Go%E7%A7%81%E6%9C%89%E5%8C%85%E4%BB%A3%E7%A0%81%E7%AE%A1%E7%90%86/
就是 goproxy 解决吧,其他的事情在 goproxy 里实现
HTTPS 协议和 ssh 协议端口不一样,go 默认用的 ssh 协议,以前公司的做法, 是将 ssh 协议改成 HTTPS 类似 ,替换的时候指定了协议,将 git 协议的资源描述符,替换成 HTTPS 的资源描述符, 如 git#gitproxy.code.com.insteadof https#git.code.com:185 具体是啥还要看日志访问的是啥地址
可以在 ~/.ssh/config 配置里加上
Host gitlab.xxx.cn
Port 1234
我也遇到过同样的问题,之前研究过这个问题,核心是因为拉包的时候会判断 Meta 标签中的信息。这个无法绕过,因此解决方法:
- 修改代码仓库的端口为标准端口
在代码仓库前面添加反向代理兼容之前的端口
最好的解决方案 把端口改成 22 的,不然你以后有的烦了,来一个新人就问你一遍
治标还是治本自己选
各位中小微企业的老板,如果现在有个便宜好用的产品,提供恶意软件检测、挖矿病毒检测、网络钓鱼风险检测和文件管控读取的能力,你们会感兴趣吗。 如果不感兴趣,老板们更关心哪些能力 友…
从 mac 跳回了 Windows ,又得重新适应快捷键了。 目前用 Powertoys 把 Ctrl+空格 映射成了 Win+空格 ,用于切换输入法,用着还行。 但 Ctrl…
云闪付异地消费的问题,被云闪付警告了,因为工作不稳定经常出差,手上每个月有云闪付的优惠券,但仅限某地使用,要求是 gps 定位该地即可使用,不然用不了。所以在外出差回不去的的时…