我尝试在公司代理后面安装 CentOS 8 服务器,但我似乎不明白为什么它不允许我执行任何连接命令。
vi /etc/profile.d/proxy.sh
# proxy settings
MB_PROXY_URL="http://username:[email protected]: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:[email protected]:3128/
https_proxy = http://username:[email protected]:3128/
ftp_proxy = http://username:[email protected]:3128/
no_proxy = "127.0.0.1,localhost,domain.ltd,192.168.0.*"
我在 CentOS 7 服务器上有确切的设置(除了yum
)dnf
,并且我能够连接进行更新或安装。
运行时收到的错误消息:yum -y update kernel
or yum -y update
oryum -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
错误,但我似乎找不到任何其他区域来添加代理。
我尝试过的一些事情是:
- 将存储库从 更改
mirror
为base
- 将存储库从 更改
http
为https
- 禁用 SELINUX
- 停止防火墙
CentOS 8 的文档似乎没有那么多,但希望有人能提供帮助!
答案1
事实证明,dnf 改变了处理代理的方式。如果您使用基本代理身份验证,则需要指定它:
vi /etc/dnf/dnf.conf
# proxy settings
proxy=http://proxy.domain.ltd:3128/
proxy_username=username
proxy_password=password
proxy_auth_method=basic
答案2
这解决方案无论出于何种原因对我不起作用。
我必须使用旧的 CentOS 7 设置加上proxy_ user/pass/auth
- 一个或另一个都不起作用,并且鱿鱼代理总是记录“tcp_denied/407”,表明需要基本的 HTTP 身份验证。
磁力RE
文件:
/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
设置,这都适用 - 这只适用于所有未注释掉的代理设置。
我希望这可以帮助别人。