当前位置: 首页 > news >正文

准确---配置全局代理

以下是详细的配置步骤,确保 HTTP 和 HTTPS 都能通过代理:

1. 配置系统环境变量(影响大部分命令行工具和用户会话)

这是最关键的一步,会影响 curlwgetgit 等多数依赖环境变量的工具。

  • 编辑全局配置文件 (/etc/profile)
    这是最推荐的方式,因为它会对所有用户和所有 shell 会话生效。

    sudo vim /etc/profile
    

    在文件末尾添加以下内容:

    # Proxy settings for HTTP and HTTPS
    export HTTP_PROXY="http://10.1.77.11:3128/"
    export HTTPS_PROXY="http://10.1.77.11:3128/"# Optional: If you also use FTP
    export FTP_PROXY="http://10.1.77.11:3128/"# List of hosts/IPs that should NOT use the proxy
    # Common examples: localhost, internal IPs, network ranges. Adjust as needed.
    # For example: 10.0.0.0/8 (private A class), 172.16.0.0/12 (private B class), 192.168.0.0/16 (private C class)
    export NO_PROXY="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" # For compatibility, also set lowercase variables
    export http_proxy="http://10.1.77.11:3128/"
    export https_proxy="http://10.1.77.11:3128/"
    export ftp_proxy="http://10.1.77.11:3128/"
    export no_proxy="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
    

    解释:

    • HTTP_PROXYhttp_proxy: 用于 HTTP 请求。
    • HTTPS_PROXYhttps_proxy: 用于 HTTPS 请求。
    • NO_PROXYno_proxy: 非常重要!它定义了不应该通过代理访问的地址列表。这通常包括本地回环地址 (localhost, 127.0.0.1, ::1) 以及你的内部网络 IP 地址段。请根据你的实际内部网络环境调整 NO_PROXY 中的 IP 范围。
    • 请注意,代理地址末尾的 / 是推荐的,但不是强制的。
  • 保存并退出 vim:
    Esc 键,然后输入 :wq 并按回车。

  • 使配置生效:
    你需要重新加载 profile 文件,或者重启你的 shell 会话(注销再登录,或直接关闭当前终端窗口并打开新的)。

    source /etc/profile
    
  • 验证环境变量:

    echo $HTTP_PROXY
    echo $HTTPS_PROXY
    echo $NO_PROXY
    

    你应该看到你设置的代理地址。

  • 测试代理连接:
    使用 curl 命令测试 HTTP 和 HTTPS 网站。

    curl http://www.example.com  # 测试 HTTP
    curl https://www.google.com # 测试 HTTPS
    

    如果能够成功获取页面内容,说明环境变量代理已生效。

2. 配置 yum 代理(如果需要通过代理更新系统包)

yum 有自己的代理配置,不受环境变量的影响。

  • 编辑 yum 配置文件:
    sudo vim /etc/yum.conf
    
  • [main] 部分的末尾添加以下行:
    proxy=http://10.1.77.11:3128
    
  • 保存并退出
  • 清理 yum 缓存并测试:
    sudo yum clean all
    sudo yum makecache fast
    sudo yum update # 尝试更新,观察是否通过代理
    

3. 配置 docker 代理 (如果安装了 Docker)

Docker 服务需要单独配置代理,以确保 Docker 能够拉取镜像和构建镜像时使用代理。

  • systemddocker.service 创建配置目录:
    sudo mkdir -p /etc/systemd/system/docker.service.d
    
  • 创建代理配置文件:
    sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
    
    添加以下内容:
    [Service]
    Environment="HTTP_PROXY=http://10.1.77.11:3128/"
    Environment="HTTPS_PROXY=http://10.1.77.11:3128/"
    Environment="NO_PROXY=localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
    
  • 保存并退出
  • 重新加载 systemd 配置并重启 Docker 服务:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  • 验证 Docker 代理:
    systemctl show docker --property Environment
    
    你应该能看到 Environment 中包含了你设置的代理信息。
    然后尝试拉取一个公共镜像:
    docker pull hello-world
    
    如果成功,则说明 Docker 代理生效。

4. 配置 git 代理(可选,通常环境变量已足够)

Git 默认会使用环境变量中的代理,但你也可以为其单独配置。

  • 为当前用户配置 Git 代理:
    git config --global http.proxy http://10.1.77.11:3128
    git config --global https.proxy http://10.1.77.11:3128
    

重要注意事项:

  • 防火墙: 确保 CentOS 服务器的防火墙 (firewalld) 允许出站连接到代理服务器的 3128 端口。如果防火墙是开启的,可能需要添加规则:
    sudo firewall-cmd --permanent --zone=public --add-port=3128/tcp
    sudo firewall-cmd --reload
    
  • 代理服务器可用性: 在配置之前和之后,请确保 10.1.77.11:3128 这个代理服务器是可用的。如果代理服务器本身有问题,你的网络连接仍然会失败。
  • SSL 证书验证: 对于 HTTPS,如果你的代理服务器执行了 SSL 拦截 (SSL interception / man-in-the-middle proxy),你可能需要将代理服务器的根证书添加到 CentOS 的信任存储中,否则可能会遇到 SSL 证书验证错误。这在企业环境中比较常见。
  • 重启: 在某些情况下,尤其是修改了 /etc/profilesystemd 配置后,最好完全注销并重新登录,或者重启相关服务,以确保所有进程都获得了新的环境变量。
  • 系统范围 vs 用户范围: 配置在 /etc/profile 的环境变量是系统范围的。如果你只想为特定用户设置代理,可以将其添加到该用户的 ~/.bashrc~/.bash_profile 文件中。

完成以上步骤后,你的 CentOS 7.9 服务器应该能够通过 10.1.77.11:3128 代理访问 HTTP 和 HTTPS 网站了。


文章转载自:

http://y7jqsgEU.rdLxh.cn
http://NWBL3KXt.rdLxh.cn
http://WC8yxpGG.rdLxh.cn
http://pAcpvP1n.rdLxh.cn
http://5vhGihVh.rdLxh.cn
http://G6lZgbeH.rdLxh.cn
http://7y7ON8DH.rdLxh.cn
http://IyaCMfSe.rdLxh.cn
http://wnDshd0H.rdLxh.cn
http://OKz9JGKb.rdLxh.cn
http://KuEkxXgo.rdLxh.cn
http://gm9Ijugq.rdLxh.cn
http://odaQjSg0.rdLxh.cn
http://8SRZzqra.rdLxh.cn
http://MFDRPMFN.rdLxh.cn
http://6WGNwqO8.rdLxh.cn
http://CHo1XYkv.rdLxh.cn
http://oEPyV5Ig.rdLxh.cn
http://eRWlA1oh.rdLxh.cn
http://TdgHG11G.rdLxh.cn
http://ChM46Fiw.rdLxh.cn
http://TB4qX3om.rdLxh.cn
http://spqzW1hO.rdLxh.cn
http://8q81c46I.rdLxh.cn
http://CnSPtS7b.rdLxh.cn
http://EC3KXx7x.rdLxh.cn
http://zoWLh50p.rdLxh.cn
http://v2lbvupO.rdLxh.cn
http://6fyh2mCJ.rdLxh.cn
http://kTBfPSeE.rdLxh.cn
http://www.dtcms.com/a/246947.html

相关文章:

  • DAG 是如何实现的?二次分片怎么做的?
  • C++编程语言:标准库:STL容器(Bjarne Stroustrup)
  • 西藏安多10万千瓦光热电站开工
  • ES集群的节点
  • C# 支持 ToolTip 功能的控件,鼠标悬停弹提示框
  • Lerna-高效管理JavaScript多包项目的利器
  • Python爬虫实战:研究Crossbar相关技术
  • GetX例子:在一个组件里更新状态,在另一个组件里获取更新的数据
  • 基于 Transformer RoBERTa的情感分类任务实践总结之四——PGM、EMA
  • LSTM梯度推导与梯度消失机制解析
  • 电子垃圾之涂鸦控制板
  • OrangePi 5 Max EMMC 系统烧录时下载成功,启动失败解决方案
  • matlab设计滤波器及导出系数python调用
  • Matlab 实现基于深度学习的高压开关柜多故障实时检测方法研究
  • 解决vscode中使用debuger运行app.py但是报错No module named app的方法
  • vue 导航 + router-view 局部刷新
  • 使用cmake安装faiss-GPU.so(无网或者内网情况下)
  • Eureka 心跳续约机制
  • faiss上的GPU流程,GPU与CPU之间的联系
  • 【软件开发】上位机 下位机概念
  • 榕壹云信用租赁系统:免押金全品类租赁解决方案,区块链+多因子认证赋能
  • 【洛杉矶实况】这里正在发生什么?
  • STM32——“扩展动态随机存储器SDRAM”
  • GPU-CPU-FPGA三维异构计算统一内存架构实践:基于OpenCL的跨设备Kernel动态迁移方案(附内存一致性协议设计)
  • sqlmap 的基本用法
  • C++上学抄近路 动态规划算法实现 CCF信息学奥赛C++ 中小学普及组 CSP-J C++算法案例学习
  • Chroma 向量数据库学习笔记
  • Linux服务器安装mamba
  • nginx配置gzip压缩
  • 嵌入式自学之网络编程汇总(6.3-6.6 ,6.9)