Centos

CentOS 8 的代理設置不起作用

  • November 5, 2021

我嘗試在公司代理後面安裝 CentOS 8 伺服器,但我似乎無法弄清楚為什麼它不允許我執行任何連接命令。

vi /etc/profile.d/proxy.sh
# proxy    settings
MB_PROXY_URL="http://username:password@proxy.domain.ltd:3128/"

http_proxy=$MB_PROXY_URL
https_proxy=$MB_PROXY_URL
ftp_proxy=$MB_PROXY_URL
no_proxy="127.0.0.1,localhost,domain.ltd,192.168.0.*"

HTTP_PROXY=$MB_PROXY_URL
HTTPS_PROXY=$MB_PROXY_URL
FTP_PROXY=$MB_PROXY_URL
NO_PROXY="127.0.0.1,localhost,domain.ltd,192.168.0.*"

export http_proxy https_proxy ftp_proxy no_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY

# then run
source /etc/profile.d/proxy.sh

vi /etc/dnf/dnf.conf
# proxy settings
proxy=http://proxy.domain.ltd:3128/
proxy_username=username
proxy_password=password

vi /etc/wgetrc
# proxy settings
http_proxy    = http://username:password@proxy.domain.ltd:3128/
https_proxy    = http://username:password@proxy.domain.ltd:3128/
ftp_proxy    = http://username:password@proxy.domain.ltd:3128/
no_proxy    = "127.0.0.1,localhost,domain.ltd,192.168.0.*"

我在 CentOS 7 伺服器上有準確的設置(除了yum代替dnf),我能夠連接以進行更新或安裝。

我在執行時收到的錯誤消息:yum -y update kernelor yum -y updateoryum -y upgrade是:

[root@server01 ~]# yum install nano
CentOS-8 - AppStream                                                   106 kB/s | 2.1 kB     00:00    
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'

我一直在尋找代理的解決方案,AppStream但似乎沒有任何效果。

當我詳細執行命令時,我收到HTTP 407錯誤消息,但我似乎找不到任何其他區域來添加代理。

我嘗試過的一些事情是:

  • 將回購從更改mirrorbase
  • 將回購從更改httphttps
  • 禁用 SELINUX
  • 停止防火牆

CentOS 8 的文件似乎沒有那麼多,但希望有人能提供幫助!

原來 dnf 改變了它處理代理的方式。如果您使用的是基本代理身份驗證,則需要指定它:

vi /etc/dnf/dnf.conf
# proxy settings
proxy=http://proxy.domain.ltd:3128/
proxy_username=username
proxy_password=password
proxy_auth_method=basic

無論出於何種原因,這個解決方案都對我不起作用。

我不得不使用我較舊的 CentOS 7 設置加上proxy_ user/pass/auth- 一個或另一個不起作用,並且 squid 代理總是記錄“tcp_denied/407”,表明需要基本的 HTTP 身份驗證。

MRE

文件

  • /etc/redhat-release:
Rocky Linux release 8.4 (Green Obsidian)
  • /etc/squid/squid.conf:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
  • /etc/dnf/dnf.conf:
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
proxy=http://MY_PROXY_USER:MY_PROXY_PASS@MY_PROXY_HOST:MY_PROXY_PORT
#proxy=http://MY_PROXY_HOST:MY_PROXY_PORT
proxy_auth_method=basic
proxy_user=MY_PROXY_USER
proxy_password=MY_PROXY_PASS
#sslverify=0
debuglevel=10
  • ~/.curlrc:
proxy=MY_PROXY_HOST:MY_PROXY_PORT
proxy-user=MY_PROXY_USER:MY_PROXY_PASS

測試

tail -f /var/log/squid/access.log
dnf clean all && dnf -vv search --showduplicates librepo-
  • 這在有和沒有的情況下都有效sslverify=0
  • 這適用於有和沒有~/.curlrc設置
  • 這僅適用於所有未註釋掉的代理設置。

我希望這可以幫助別人。

引用自:https://unix.stackexchange.com/questions/592450