# __ .______ __ __ .______ .___________. ______ ______ .___ ___. # | | | _ \ | | | | | _ \ | | / | / __ \ | \/ | # | | | |_) | | |__| | | |_) | `---| |----` | ,----'| | | | | \ / | # | | | ___/ | __ | | ___/ | | | | | | | | | |\/| | # | | | | | | | | | | | | __ | `----.| `--' | | | | | # |__| | _| |__| |__| | _| |__| (__) \______| \______/ |__| |__| # ""$o o$"" ""$o o$" o "$""""o "o $" o""" $" "$o "$o" $o " $ o$" "$o $$$o$$$$o$$$$ $" "oooo o "" ""$$$$$$$$""o"" oo oooo" "$$$$$$oo"oo$$$o" o$$$$oo" o$$$o "o$$$$$$$ "$ $$$$$$$$$oo o$$$$$$$$$o"$" $ $$$ $$$$$$ o$$$$$$ "$$o"o $ $$$$o $$$$$$ $$$$$$$ $$$$o"o $ $$$$$ $$$$$" "$$$$$ $$$$$$ $ $o""""" """" """ """"""$" $ o$$$$$"""$$$$$"$$$$$""$$$$$ooo"o $ o"$o $$$$$$$$oo$$$$$$$$o $$"" $ oo$ "$$$$$$$$$$$$$$$$$$$$" o" o $oo o$$$"$ $$o"o $$$$$$$"" "$$$$$$$ o$$ $$$$o IPHPT BUG o$$$$" $ $$$$ o "$$$$$oo o$$$$$$ "o$$$$ $ $$$$$ o$$"" $ $$$$$o" "$$$$$$$$$$$$$ o o$$$$$o$ "" $$ $$" $ $$$" o"o$$$$$$$$$$$$ " "$$$ $ $$o o$$ "o $$ " $$$$$$$$$$$"o "$$ $ $$$ $$$ oo$ $ o""$$""$$$o " $"o$o $$$o o$$$$ o$$$"o"$oo$$$$o" o $o $$$$$oo$ $$$$o $$$$ $$$$ $$$$" $ $$$$$"" $$ o$$$ """$$$$"o" "$$$o "$$$o $$$" o """ $ $$$oo $$$$o" $$ o$$$"o" """"$ o$$$ o$" $$$ $ "$"" o$"o"$$o$$$$ "$$"o" o$$ "$oo $ " $$o $ "oo$"o$$$"o$o"$$$$o" o" $$$ ""$o $$ $$$o "o$$o$"$$"$$o$$o$$"$$o" $$$ ""o $$$ ""$$$ $$$$$$ $$$$ $" $$$$ $$ $$$$ $$$$"$$$o$ $"" $$$ $$$$ "$$$ """ $$$$ $$"" "$$ oo$" $ooo $ "$$ 自写的包放在公司内网代码托管服务器(gitlab)上,拉取有问题   -  叶落山城秋

自写的包放在公司内网代码托管服务器(gitlab)上,拉取有问题

自写的包放在公司内网代码托管服务器(gitlab)上,拉取有问题

前提

  1. 语言: Golang
  2. 包类型: 自写
  3. 包位置: 公司内网Gitlab上
  4. 包管理: go mod
  5. 其他: gitlab域名为http的,非https,另外,域名还带有端口号(唉)
直接拉取

go get -v gitlab.xxxx.com/iphpt/commonPkg

报错

go get gitlab.xxxx.com/iphpt/commonPkg: module gitlab.xxxx.com/iphpt/commonPkg: Get “https://proxy.golang.org/gitlab.xxxx.com/iphpt/commonPkg/@v/list”: dial tcp 34.64.4.17:443: i/o timeout

go get直接请求外包代理上去了,另外即使设置了代码,也肯定拉取不到的,因为这个包公司内网上的

修改指向,内网的包不走代理

export GOPRIVATE=gitlab.xxxx.com

进行 go env查看,发现 GONOPROXY,GONOSUMDB,GOPRIVATE 都已经发生改变

再次拉取

go get -v gitlab.xxxx.com/iphpt/commonPkg

报错

go get gitlab.xxxx.com/iphpt/commonPkg: unrecognized import path “gitlab.xxxx.com/iphpt/commonPkg”: https fetch: Get “https://gitlab.xxxx.com/iphpt/commonPkg?go-get=1”: dial tcp 101.9.183.187:443: connect: connection refused

go get 默认走https了

加上 –insecure 不走https

go get -v –insecure gitlab.xxxx.com/iphpt/commonPkg

还是报错

go get gitlab.xxxx.com/iphpt/commonPkg: unrecognized import path “gitlab.xxxx.com/iphpt/commonPkg”: parse http://gitlab.xxxx.com/iphpt/commonPkg?go-get=1: no go-import meta tags (meta tag gitlab.xxxx.com/iphpt/commonPkg did not match import path gitlab.xxxx.com/iphpt/commonPkg)

嗯,这个问题就复杂了, 以上执行都在 已经让sre把gitlab的域名后的端口号给去掉了,也就是把 一个正常域名跳转到 带端口的服务下

试了另外一种方式

就是在 包后面加上 .git, 发现不报上面的错了,但是拉取还是不行,另外,拉取下来的话 文件目录也不太对,所以不进行尝试了

搞了半天,实在搞不定

查看网上解决办法

上面的 no go-import meta tags 是因为gitlab没有返回或者没有请求到 gitlab的 meta标签, 所以让nginx做层跳转

if ($http_user_agent ~* "go") {
    return 200 "<!DOCTYPE html><head><meta content='$host$uri git ssh://git@$host:$uri.git' name='go-import'></head></html>";
}

不过这方法还未实践,这两天找sre试试

目前解决办法

在需要公共包的项目里新建一个 文件夹 privatePkg

cd privatePkg

git clone git@gitlab.xxxx.com/iphpt/commonPkg.git

cd commonPkg

rm -rf .git

cd ../../

git add .

然后修改 go.mod

require gitlab.xxxx.com/iphpt/commonPkg v0.0.0

replace gitlab.xxxx.com/iphpt/commonPkg => ./privatePkg/commonPkg

先这么用着吧!

后续补充

我发现我可以拉取了.. 操作是

gitlab没有做任何改动, 不过需要注意的是 版本号不要打成 v0.0.01 这种, 可以打成 v0.0.1 这样

然后就是先把服务拉取到本地 mod 缓存里, 为了确保最新, 也可以先把本地缓存里先删掉, 再次拉取确定是否是正常的

比如 go mod download

如果是单独拉取这个 自己的私有的在内网的包

go get –insecure gitlab.xxxx.com/iphpt/commonPkg

这样还会报

go get gitlab.xxxx.com/iphpt/commonPkg: unrecognized import path "gitlab.xxxx.com/iphpt/commonPkg": parse http://gitlab.xxxx.com/iphpt/commonPkg?go-get=1: no go-import meta tags (meta tag gitlab.xxxx.com/iphpt/commonPkg did not match import path gitlab.xxxx.com/iphpt/commonPkg)

执行

go get –insecure gitlab.xxxx.com/iphpt/commonPk.git

go: downloading gitlab.xxxx.com/iphpt/commonPk.git v0.0.2
go: gitlab.xxxx.com/iphpt/commonPk.git upgrade => v0.0.2
go get: gitlab.xxxx.com/iphpt/commonPk.git@v0.0.2: parsing go.mod:
        module declares its path as: gitlab.xxxx.com/iphpt/commonPk
                but was required as: gitlab.xxxx.com/iphpt/commonPk.git

其实这样就是下载成功了, 在go mod 缓存里能看到了

然后你项目里设置

require 	gitlab.xxxx.com/iphpt/commonPk v0.0.2


replace gitlab.xxxx.com/iphpt/commonPk v0.0.2 => gitlab.xxxx.com/iphpt/commonPk.git v0.0.2

欢迎转载,但请附上原文地址哦,尊重原创,谢谢大家 本文地址: https://www.iphpt.com/detail/144/
本站(PHP --> Golang)已重构,代码开源

当你能力不能满足你的野心的时候,你就该沉下心来学习

# __ .______ __ __ .______ .___________. ______ ______ .___ ___. # | | | _ \ | | | | | _ \ | | / | / __ \ | \/ | # | | | |_) | | |__| | | |_) | `---| |----` | ,----'| | | | | \ / | # | | | ___/ | __ | | ___/ | | | | | | | | | |\/| | # | | | | | | | | | | | | __ | `----.| `--' | | | | | # |__| | _| |__| |__| | _| |__| (__) \______| \______/ |__| |__| # ""$o o$"" ""$o o$" o "$""""o "o $" o""" $" "$o "$o" $o " $ o$" "$o $$$o$$$$o$$$$ $" "oooo o "" ""$$$$$$$$""o"" oo oooo" "$$$$$$oo"oo$$$o" o$$$$oo" o$$$o "o$$$$$$$ "$ $$$$$$$$$oo o$$$$$$$$$o"$" $ $$$ $$$$$$ o$$$$$$ "$$o"o $ $$$$o $$$$$$ $$$$$$$ $$$$o"o $ $$$$$ $$$$$" "$$$$$ $$$$$$ $ $o""""" """" """ """"""$" $ o$$$$$"""$$$$$"$$$$$""$$$$$ooo"o $ o"$o $$$$$$$$oo$$$$$$$$o $$"" $ oo$ "$$$$$$$$$$$$$$$$$$$$" o" o $oo o$$$"$ $$o"o $$$$$$$"" "$$$$$$$ o$$ $$$$o IPHPT BUG o$$$$" $ $$$$ o "$$$$$oo o$$$$$$ "o$$$$ $ $$$$$ o$$"" $ $$$$$o" "$$$$$$$$$$$$$ o o$$$$$o$ "" $$ $$" $ $$$" o"o$$$$$$$$$$$$ " "$$$ $ $$o o$$ "o $$ " $$$$$$$$$$$"o "$$ $ $$$ $$$ oo$ $ o""$$""$$$o " $"o$o $$$o o$$$$ o$$$"o"$oo$$$$o" o $o $$$$$oo$ $$$$o $$$$ $$$$ $$$$" $ $$$$$"" $$ o$$$ """$$$$"o" "$$$o "$$$o $$$" o """ $ $$$oo $$$$o" $$ o$$$"o" """"$ o$$$ o$" $$$ $ "$"" o$"o"$$o$$$$ "$$"o" o$$ "$oo $ " $$o $ "oo$"o$$$"o$o"$$$$o" o" $$$ ""$o $$ $$$o "o$$o$"$$"$$o$$o$$"$$o" $$$ ""o $$$ ""$$$ $$$$$$ $$$$ $" $$$$ $$ $$$$ $$$$"$$$o$ $"" $$$ $$$$ "$$$ """ $$$$ $$"" "$$ oo$" $ooo $ "$$ ubuntu 防火墙命令   -  叶落山城秋

ubuntu 防火墙命令

启用ufw

sudo ufw enable

sudo ufw default deny

运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。

开启和禁用

sudo ufw allow|deny [service]

打开或关闭某个端口,例如:

sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口

sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口

sudo ufw allow 53 允许外部访问53端口(tcp/udp)

sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口

sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53

sudo ufw deny smtp 禁止外部访问smtp服务

sudo ufw delete allow smtp 删除上面建立的某条规则

查看防火墙状态

sudo ufw status

允许某特定 IP sudo ufw allow from xxx.xxx.xx.xxx

删除 smtp 端口的许可 sudo ufw delete allow smtp


欢迎转载,但请附上原文地址哦,尊重原创,谢谢大家 本文地址: https://www.iphpt.com/detail/54/
本站(PHP --> Golang)已重构,代码开源

当你能力不能满足你的野心的时候,你就该沉下心来学习