代理
<p>下面是讲解http的代理配置。全局代理配置主要在于环境变量的设置。
<code>http_proxy</code>的设置,首先,设置了这个变量不是说只会走http协议比如curl,git这些软件默认使用http_proxy这个环境变量来设置代理服务器,所以在linux下只要设置了这个环境变量就能被这些软件识别,而对于代理服务器用什么协议都行,比如使用http协议或者socks协议等。</p>
<p>那么对于一些比如chrome和yum这些针对http_proxy可能不会生效,比如chrome用的是server_proxy这个变量,而且是在启动时设置才生效。</p>
<p>下面是代理变量的配置:</p>
<table>
<thead>
<tr>
<th>环境变量</th>
<th>描述</th>
<th>值示例</th>
</tr>
</thead>
<tbody>
<tr>
<td>http_proxy</td>
<td>为http变量设置代理;默认不填开头以http协议传输</td>
<td>10.0.0.51:8080<a href="mailto:br>user:pass@10.0.0.10:8080<br">br>user:pass@10.0.0.10:8080<br</a>socks4://10.0.0.51:1080<br>socks5://192.168.1.1:1080</td>
</tr>
<tr>
<td>https_proxy</td>
<td></td>
<td>同上</td>
</tr>
<tr>
<td>ftp_proxy</td>
<td></td>
<td>同上</td>
</tr>
<tr>
<td>all_proxy</td>
<td>全部变量设置代理,设置了这个时候上面的不用设置</td>
<td>同上</td>
</tr>
<tr>
<td>no_proxy</td>
<td>无需代理的主机或域名;<br>可以使用通配符;可以使用通配符;<br>多个时使用“,”号分隔;<br>多个时使用“,”号分隔;>多个时使用“,”号分隔;</td>
<td><code>*.aiezu.com,10.*.*.*,192.168.*.*,</code><br></br<code>*.local,localhost,127.0.0.1</code>><code>*.local,localhost,127.0.0.1</code></td>
</tr>
</tbody>
</table>
<p>针对上面变量的设置方法:</p>
<p>1、在<code>/etc/profile</code>文件</p>
<p>2、在<code>~/.bashrc</code></p>
<p>3、在<code>~/.zshrc</code></p>
<p>4、在<code>/etc/profile.d/</code>文件夹下新建一个文件<code>xxx.sh</code></p>
<p>写入如下配置:</p>
<pre><code>export proxy="http://192.168.5.14:8118"
export http_proxy=$proxy
export https_proxy=$proxy
export ftp_proxy=$proxy
export no_proxy="localhost, 127.0.0.1, ::1"</code></pre>
<p>而对于要取消设置可以使用如下命令,其实也就是取消环境变量的设置:</p>
<p>针对yum配置走代理:</p>
<p>经过测试其实只要设置上面的变量之后已经可以走代理了,但如果要单独设置,可以设置如下文件的变量:</p>
<pre><code>echo "proxy=http://127.0.0.1:8080/" >> /etc/yum.conf</code></pre>
<pre><code># 指定http代理IP和端口
curl -x 113.185.19.192:80 http://aiezu.com/test.php
curl --proxy 113.185.19.192:80 http://aiezu.com/test.php
#指定为http代理
curl -x http_proxy://113.185.19.192:80 http://aiezu.com/test.php
#指定为https代理
curl -x HTTPS_PROXY://113.185.19.192:80 http://aiezu.com/test.php
#指定代理用户名和密码,basic认证方式
curl -x aiezu:123456@113.185.19.192:80 http://aiezu.com/test.php
curl -x 113.185.19.192:80 -U aiezu:123456 http://aiezu.com/test.php
curl -x 113.185.19.192:80 --proxy-user aiezu:123456 http://aiezu.com/test.php
#指定代理用户名和密码,ntlm认证方式
curl -x 113.185.19.192:80 -U aiezu:123456 --proxy-ntlm http://aiezu.com/test.php
#指定代理协议、用户名和密码,basic认证方式
curl -x http_proxy://aiezu:123456@113.185.19.192:80 http://aiezu.com/test.php
#使用socks4代理,无需认证方式
curl --socks4 122.192.32.76:7280 http://aiezu.com/test.php
curl -x socks4://122.192.32.76:7280 http://aiezu.com/test.php
#使用socks4a代理,无需认证方式
curl --socks4a 122.192.32.76:7280 http://aiezu.com/test.php
curl -x socks4a://122.192.32.76:7280 http://aiezu.com/test.php
#使用socks5代理,basic认证方式
curl --socks5 122.192.32.76:7280 -U aiezu:123456 http://aiezu.com/test.php
curl -x socks5://aiezu:123456@122.192.32.76:7280 http://aiezu.com/test.php
#使用socks5代理,basic认证方式,ntlm认证方式
curl -x socks5://aiezu:123456@122.192.32.76:7280 --proxy-ntlm http://aiezu.com/test.php</code></pre>