如何在Linux中使用http_proxy和https_proxy环境变量设置代理?
在本文中,将介绍"使用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永久设置代理
对于bash
和sh
用户,将上面给出的导出行添加到名为/etc/profile.d/http_proxy.sh
文件的新文件中:
# echo "export http_proxy=http://proxy.example.com:3128/" > /etc/profile.d/http_proxy.sh
对于csh
和tcsh
用户,使用以下命令在名为/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的代理。
该信息将由提供代理服务器相关详细信息的网络团队提供。