linux

某个用户无法通过公网访问gitlab

2018-11-14  本文已影响125人  lockdreamer

问题描述:

由于jenkins主机用户目录被删,临时拷贝了一份家目录文件。导致jenkins用户通过外网连接gitlab时报错。

分析过程:

1、从别的jenkins服务器连接gitlab,确认gitlab没问题。

2、从本机jenkins用户连接别的代码仓库,报错;初步确定是这台jenkins主机网络的问题。

3、从jenkins主机其他用户连接jenkins主机正常;确定是jenkins用户问题。

单个用户不通,肯定是环境变量不对。初步分析了git版本,java版本。都不是根本原因。

在此,感谢郭老师指点。是不是http代理的问题呢?

使用curl http://120.194.46.243:8888/activity/  --tarce a.log

查看a.log

发现url呗代理到了10.16.3.138这个ip。查看jenkins用户环境变量.bash_profile

问题原因确定:jenkins用户设置了http proxy导致。

解决方案:

在环境变量中增加 export no_proxy=120.194.46.243;让到该ip的连接不走代理。

相关小知识:

linux设置http/https proxy

有些linux服务器处于内网,并且没有公网ip,故要想与外网进行http/https通信只能通过nat或者加proxy的方式。nat服务器有网段的限制,而http/https proxy代理则没有,使用起来也方便。

1、linux系统设置http/https proxy的方法,在/etc/bashrc或者/etc/profile中添加如下环境变量:

export  http_proxy=http://1.1.1.1:8082

2、对特殊请求,不让其走http/https代理

export no_proxy='a.test.com,127.0.0.1,2.2.2.2'

上一篇下一篇

猜你喜欢

热点阅读