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 的,不然你以后有的烦了,来一个新人就问你一遍
治标还是治本自己选
分享信息并不难,大多数人都能做到,就算是不善言谈性格内向的技术人员,通过博客或社交媒体,或是不正式的交流,他们都能或多或少的做到。但是如果你想要做一个有质量有高度的分享,这个就…
小弟在网全栈方向发展,是去学期 JS+Vue 那一套呢还是 Dart+Flutter 那一套呢?想听听客户端过来人的想法。 走了 JavaScript 这条路,感觉什么 E…
发现一个神奇的库,可以禁用网站 devtools 达到保护源码的目的 github.com/theajack/disable-devtool有厉害的老哥有破解思路吗,我记得之前…