本人网络小白,问个代理软件如何解决 https 证书的问题

2023-01-15 15:56:17 +08:00
 roycestevie6761

如题,之前一直在 windows 端用 Clash ,都是下载订阅然后开启代理直接用了。但是最近 linux 上也有用代理的需求,于是我也用 Clash ,但是开启之后,curl google 没问题,但是 git clone github 上的一些 releases ,就一直失败,提示 gnutls_handshake() failed: The TLS connection was non-properly terminated.

有大佬知道解决方式吗

4411 次点击
所在节点    程序员
16 条回复
A01514035
2023-01-15 16:06:13 +08:00
google 一下就有吧
roycestevie6761
2023-01-15 16:25:42 +08:00
这些都没有用,我都试过了
roycestevie6761
2023-01-15 16:33:36 +08:00
roycestevie6761
2023-01-15 16:51:35 +08:00
@A01514035 这些我都看过,这方法没用,wget 也有这个问题
roycestevie6761
2023-01-15 16:52:43 +08:00
@A01514035 开代理后,python 的 pip 也会报 tls 错误,网上的方法都是说关代理,但是没查到不关代理怎么解决
puck260
2023-01-15 17:17:10 +08:00
我是经常挂着梯子,在 win 的环境 clone 不了,经常性的无法提交,查了查,是需要把端口开放给 git ,具体的指令:
git config --global http.proxy 'socks5://127.0.0.1:7890',我是这样解决的
puck260
2023-01-15 17:18:15 +08:00
端口换成你 clash 的端口,win 默认是 7890 ,htpps 同理
wangyu17455
2023-01-15 17:40:02 +08:00
1:proxychains
2:export https_proxy
3:clash tun 模式
4:clash_meta iptables 模式
5:试试 ssh 协议,这个阻断的少
从上往下推荐程度依次降低
ysc3839
2023-01-15 20:40:35 +08:00
大概就是你的代理断开连接了。至于为什么断就不知道了。

@puck260 Git 底层使用 curl 进行网络请求,而 curl 的代理设置中 socks5 会用本地 DNS 进行解析,可能会遇到 DNS 污染导致无法连接,应该改成 socks5h 使用远程解析 DNS 。
roycestevie6761
2023-01-15 23:10:29 +08:00
@puck260 我在 ubuntu 上用
```
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
```
这应该是所有 http\https 都可以代理的吧,不需要 git 在单独设置了? 这点我不确定。

在 windows 上用的话,Clash General 上有个专门打开代理终端的选项
roycestevie6761
2023-01-15 23:11:04 +08:00
@wangyu17455 感谢回答
roycestevie6761
2023-01-15 23:11:51 +08:00
@ysc3839 我换了一个好点的代理,突然就能用了,奇怪。
roycestevie6761
2023-01-15 23:20:54 +08:00
我又研究了一下。将 Clash 启动后,lsof -i:7890 ,发现没有人监听
roycestevie6761
2023-01-15 23:25:17 +08:00
我的 CloudStudio 中的一台机子
```
➜ clash ps -a
PID TTY TIME CMD
1557 pts/0 00:00:00 clash-linux-amd
5307 pts/1 00:00:00 ps
➜ clash lsof -i:7890
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
clash-lin 1557 root 8u IPv4 2435773225 0t0 TCP localhost:7890 (LISTEN)
```

出现问题的腾讯云的机子。
```
lighthouse@VM-4-4-ubuntu:~$ ps -a
PID TTY TIME CMD
2610 pts/2 00:00:00 clash-linux-amd
3633 pts/14 00:00:00 orca-bash.sh
3641 pts/14 00:00:00 sleep
3645 pts/10 00:00:00 ps
16667 pts/7 00:01:09 lumen
26119 pts/25 00:00:49 cloudreve
29314 pts/14 00:00:00 orca-bash.sh

lighthouse@VM-4-4-ubuntu:~$ lsof -i:7890
(没输出,奇怪)
```
roycestevie6761
2023-01-15 23:37:43 +08:00
lighthouse@VM-4-4-ubuntu:~$ sudo lsof -i tcp:7890
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
clash-lin 22959 root 7u IPv4 161499315 0t0 TCP localhost:7890 (LISTEN)

只有 sudo 才会出现这个 Clash 进程,但是 ps -a 没有,ps -A 有,说明这个 Clash 上几次终端的,可能是上几次乱用 sudo nohup 命令搞的,但是新 Clash 启动也不提示端口已经占用。把这个进程 kill 掉,重新启动 Clash 就行了,问题就此解决,受 @ysc3839 启发,我怎么也没想到 Clash 正常启动后端口没有正常监听的问题,他也不提示一下。
roycestevie6761
2023-07-27 23:04:30 +08:00
结帖

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/909066

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX