如何在Linux中使用http_proxy和https_proxy环境变量设置代理?

时间:2020-02-23 14:40:28  来源:igfitidea点击:

在本文中,将介绍"使用https_proxy和https_proxy环境变量设置代理服务器的步骤"。

什么是代理服务器?

代理服务器是专用计算机或者在计算机上运行的软件系统,充当端点设备(例如计算机)与用户或者客户端从中请求服务的另一服务器之间的中介。

代理服务器可以与防火墙服务器位于同一台计算机上,也可以位于单独的服务器上,该服务器通过防火墙转发请求。

检查当前代理配置状态(https_proxy/https_proxy)

此变量将显示系统上是否配置了代理服务器:

# echo $http_proxy
# echo $https_proxy

如果这些变量为空,则意味着在系统级别没有配置代理服务器。

使用http_proxy环境变量设置代理服务器

环境变量http_proxy和https_proxy用于指定客户端程序的代理设置,例如curl和wget。

设置不带用户名和密码的代理

在终端上使用有效的" SERVER_IP"和" PORT"执行以下命令。
这将为当前会话启用代理配置,但是这些值在重新启动后将不会持久。

# export http_proxy=http://SERVER:PORT/

使用用户名和密码设置代理

我们可以修改先前的命令以添加用户名和密码值,前提是需要有效的身份验证才能启用代理服务器配置。
但是同样,此命令还将仅对当前会话启用代理服务器,并且不会在重新启动后保持不变。

# export http_proxy=http://USERNAME:PASSWORD@SERVER:PORT/

使用域,用户名和密码设置代理

假设我们还需要在系统上设置代理配置时添加域详细信息,然后使用以下命令

# export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/

特殊字符(@)处理

通过更复杂,更可靠地处理用户名或者密码中的特殊字符,请遵循如何使用用户名和密码中的特殊字符设置http或者https代理

当用户名或者密码使用" @"符号时,请在" @"之前添加反斜杠(\),例如:

export http_proxy=http://DOMAIN\USERN\@ME:PASSWORD@SERVER:PORT

或者

export http_proxy=http://DOMAIN\USERNAME:P\@SSWORD@SERVER:PORT

使用/etc/environment永久设置代理

现在,正如我在上面强调的那样,以上命令仅适用于当前活动会话,但在重新启动后将不可用。
因此,要使这些更改持久化,请在/etc/environment文件中定义环境变量:

# echo "http_proxy=http://proxy.example.com:3128/" >> /etc/environment

提示:

这里的/etc/environment文件不是shell脚本,适用于所有没有shell的进程。

使用/etc/profile.d永久设置代理

对于bashsh用户,将上面给出的导出行添加到名为/etc/profile.d/http_proxy.sh文件的新文件中:

# echo "export http_proxy=http://proxy.example.com:3128/" > /etc/profile.d/http_proxy.sh

对于cshtcsh用户,使用以下命令在名为/etc/profile.d/http_proxy.csh的新文件中设置http_proxy变量:

# echo "setenv http_proxy http://proxy.example.com:3128/" > /etc/profile.d/http_proxy.csh

这些文件的扩展名决定了哪个shell程序将读取它们。
这些命令不可互换。

提示:

在export参数中将http_proxy替换为https_proxy以启用基于SSL/TLS的代理。
该信息将由提供代理服务器相关详细信息的网络团队提供。