0

0

Linux 网络代理配置导致的异常行为

舞夢輝影

舞夢輝影

发布时间:2026-02-11 14:30:10

|

335人浏览过

|

来源于php中文网

原创

curl和wget突然走代理是因为环境变量http_proxy等被静默设置;检查用env | grep -i proxy,注意大小写、no_proxy后缀匹配规则及systemd服务不继承用户环境。

linux 网络代理配置导致的异常行为

curl 和 wget 突然走代理,但没设过代理

Linux 下很多命令(比如 curlwgetgit)会自动读取环境变量里的代理配置,哪怕你没主动设过,也可能被其他程序或 shell 初始化脚本悄悄写入。最常见的是 http_proxyhttps_proxyno_proxy 这几个变量。

检查方式很简单:
env | grep -i proxy

  • 如果输出里有 http_proxy=http://127.0.0.1:8080 这类内容,就是它在起作用
  • no_proxy 如果写成 no_proxy=127.0.0.1,localhost 是对的,但写成 no_proxy=localhost 就不覆盖 127.0.0.1 —— 它们是严格字符串匹配,不支持通配或域名解析
  • 注意大小写:HTTP_PROXYhttp_proxy 在部分工具里行为不同;curl 优先看小写,wget 只认大写

systemd 服务启动失败,报错 “Connection refused” 但端口明明通

systemd 启动的服务(比如自定义的 myapp.service)默认不继承用户 shell 的环境变量,所以即使你在 ~/.bashrc 里 export 了 http_proxy,服务进程也看不到。但它可能因其他原因“意外”连上代理:比如代码里硬编码了代理地址,或依赖的库(如 Python 的 requests)读了系统级配置文件(/etc/environment/etc/profile.d/*.sh)。

  • 查服务实际环境:systemctl show --property=Environment myapp.service
  • 临时禁用代理影响:systemctl set-environment "http_proxy=" "https_proxy="
  • 更稳妥的做法是在 service 文件里显式清空:Environment="http_proxy=" "https_proxy=" "no_proxy="

Python requests 请求卡住或超时,本地 curl 却正常

Python 的 requests 库默认尊重 http_proxy 环境变量,但它还额外读取系统代理配置文件(如 /etc/environment),甚至某些发行版预装的代理管理工具(如 gsettings 在 GNOME 下)也会被 urllib 间接读取。更隐蔽的是,如果设置了 https_proxy 但目标是 HTTP 站点,部分旧版本 requests 仍会尝试走 HTTPS 代理隧道,导致连接 hang 住。

Flowith
Flowith

一款GPT4驱动的节点式 AI 创作工具

下载
  • 验证是否真走代理:python3 -c "import requests; print(requests.get('http://httpbin.org/ip', timeout=5).text)",同时用 tcpdump -i lo port 8080 看有没有流量
  • 强制绕过代理:requests.get(url, proxies={"http": None, "https": None})
  • 注意:设 proxies={} 不等于绕过,它会 fallback 到环境变量;必须显式设为 None

no_proxy 配置无效,内网域名还是走了代理

no_proxy 不是正则,也不是 DNS 模糊匹配。它的规则非常朴素:逗号分隔的字符串列表,每个条目做「后缀匹配」。比如 no_proxy=.example.com,192.168.1.0/24 是错的 —— 它不支持 CIDR,也不支持点开头的通配(.example.com 在多数工具里会被当字面量处理,不会匹配 api.example.com)。

  • 正确写法只有两种:no_proxy="example.com,localhost,127.0.0.1"(完全匹配)或 no_proxy="example.com"(匹配所有以 example.com 结尾的 host,如 api.example.com
  • 但注意:它不处理端口、协议、路径,只比对 Host 字段;http://example.com:8080https://api.example.com 都只看 example.comapi.example.com
  • 大小写敏感,且不能有空格:no_proxy=" example.com " 会导致整个变量失效

代理配置真正麻烦的地方不在设,而在“谁在读、什么时候读、按什么规则解释”。同一个变量,在 shell、systemd、Python、Java 里生效逻辑都不同,改完记得验证具体进程的视角,别只信自己的终端。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

191

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

11

2026.02.03

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

450

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

179

2023.10.30

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

488

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

214

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1547

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

637

2023.11.24

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

1

2026.02.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.8万人学习

Git 教程
Git 教程

共21课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号