﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>学习日记 &#187; 网络代理</title>
	<atom:link href="https://www.softwareace.cn/?cat=85&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://www.softwareace.cn</link>
	<description>时刻想着为自己的产品多做一些对他好的事情</description>
	<lastBuildDate>Fri, 20 Mar 2026 06:58:28 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>nginx实现请求转发</title>
		<link>https://www.softwareace.cn/?p=1649</link>
		<comments>https://www.softwareace.cn/?p=1649#comments</comments>
		<pubDate>Wed, 07 Jun 2017 09:19:35 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[网络代理]]></category>

		<guid isPermaLink="false">http://www.softwareace.cn/?p=1649</guid>
		<description><![CDATA[反向代理适用于很多场合，负载均衡是最普遍的用法。 nginx 作为目前最流行的web服务器之一，可以很方便地实 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p style="color: #000000;">反向代理适用于很多场合，负载均衡是最普遍的用法。</p>
<p style="color: #000000;"><a style="color: #ca0000;" href="http://nginx.org/" target="_blank"><strong>nginx</strong></a> 作为目前最流行的web服务器之一，可以很方便地实现反向代理。</p>
<p style="color: #000000;"><strong>nginx</strong> 反向代理官方文档: <a style="color: #ca0000;" href="https://www.nginx.com/resources/admin-guide/reverse-proxy/" target="_blank">NGINX REVERSE PROXY</a></p>
<p style="color: #000000;">当在一台主机上部署了多个不同的web服务器，并且需要能在80端口同时访问这些web服务器时，可以使用 <strong>nginx</strong> 的反向代理功能: 用 <strong>nginx</strong> 在80端口监听所有请求，并依据转发规则(比较常见的是以 URI 来转发)转发到对应的web服务器上。</p>
<p style="color: #000000;">例如有 <strong><em>webmail</em></strong> , <strong><em>webcom</em></strong> 以及 <strong><em>webdefault</em></strong> 三个服务器分别运行在 <em>portmail</em> , <em>portcom</em> , <em>portdefault</em> 端口，要实现从80端口同时访问这三个web服务器，则可以在80端口运行 <strong>nginx</strong>， 然后将 <code style="color: #3f3f3f;">/mail</code> 下的请求转发到 <strong><em>webmail</em></strong> 服务器， 将 <code style="color: #3f3f3f;">/com</code>下的请求转发到 <strong><em>webcom</em></strong> 服务器， 将其他所有请求转发到 <strong><em>webdefault</em></strong> 服务器。</p>
<p style="color: #000000;">假设服务器域名为example.com，则对应的 <strong>nginx</strong> http配置如下：</p>
<p></p><pre class="crayon-plain-tag">http {
    server {
            server_name example.com;

            location /mail/ {
                    proxy_pass http://example.com:protmail/;
            }

            location /com/ {
                    proxy_pass http://example.com:portcom/main/;
            }

            location / {
                    proxy_pass http://example.com:portdefault;
            }
    }
}</pre><p>&nbsp;</p>
<p style="color: #000000;">以上的配置会按以下规则转发请求( <code style="color: #3f3f3f;">GET</code> 和 <code style="color: #3f3f3f;">POST</code> 请求都会转发):</p>
<ul style="color: #000000;">
<li>将 <code style="color: #3f3f3f;">http://example.com/mail/</code> 下的请求转发到 <code style="color: #3f3f3f;">http://example.com:portmail/</code></li>
<li>将 <code style="color: #3f3f3f;">http://example.com/com/</code> 下的请求转发到 <code style="color: #3f3f3f;">http://example.com:portcom/main/</code></li>
<li>将其它所有请求转发到 <code style="color: #3f3f3f;">http://example.com:portdefault/</code></li>
</ul>
<p style="color: #000000;">需要注意的是，在以上的配置中，<strong><em>webdefault</em></strong> 的代理服务器设置是没有指定URI的，而 <strong><em>webmail</em></strong> 和 <strong><em>webcom</em></strong> 的代理服务器设置是指定了URI的(分别为 <code style="color: #3f3f3f;">/</code> 和 <code style="color: #3f3f3f;">/main/</code>)。<br />
如果代理服务器地址中是带有URI的，此URI会替换掉 <code style="color: #3f3f3f;">location</code> 所匹配的URI部分。<br />
而如果代理服务器地址中是不带有URI的，则会用完整的请求URL来转发到代理服务器。</p>
<p style="color: #000000;">官方文档描述：</p>
<blockquote style="color: #000000;"><p>If the URI is specified along with the address, it replaces the part of the request URI that matches the location parameter.<br />
If the address is specified without a URI, or it is not possible to determine the part of URI to be replaced, the full request URI is passed (possibly, modified).</p></blockquote>
<p style="color: #000000;">以上配置的转发示例：</p>
<ul style="color: #000000;">
<li><code style="color: #3f3f3f;">http://example.com/mail/index.html</code> -&gt; <code style="color: #3f3f3f;">http://example.com:portmail/index.html</code></li>
<li><code style="color: #3f3f3f;">http://example.com/com/index.html</code> -&gt; <code style="color: #3f3f3f;">http://example.com:portcom/main/index.html</code></li>
<li><code style="color: #3f3f3f;">http://example.com/mail/static/a.jpg</code> -&gt; <code style="color: #3f3f3f;">http://example.com:portmail/static/a.jpg</code></li>
<li><code style="color: #3f3f3f;">http://example.com/com/static/b.css</code> -&gt; <code style="color: #3f3f3f;">http://example.com:portcom/main/static/b.css</code></li>
<li><code style="color: #3f3f3f;">http://example.com/other/index.htm</code> -&gt; <code style="color: #3f3f3f;">http://example.com:portdefault/other/index.htm</code></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://www.softwareace.cn/?feed=rss2&#038;p=1649</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows下使用plink实现全自动登陆ssh</title>
		<link>https://www.softwareace.cn/?p=644</link>
		<comments>https://www.softwareace.cn/?p=644#comments</comments>
		<pubDate>Mon, 18 Nov 2013 01:19:31 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[网络代理]]></category>

		<guid isPermaLink="false">http://www.softwareace.cn/?p=644</guid>
		<description><![CDATA[ssh是什么？ ssh是一个安全通道协议 plink是什么？ plink是这个通道协议的一个实现。 关于pli [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>ssh是什么？</strong><br />
ssh是一个安全通道协议</p>
<p><strong>plink是什么？</strong><br />
plink是这个通道协议的一个实现。</p>
<p><strong>关于plink</strong><br />
官方主页 <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a><br />
下载地址 <a href="http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe">http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe</a></p>
<p><strong><br />
怎么用？</strong><br />
首先您得有个ssh帐号（至于怎么得，看你自己啦）<br />
其次，把plink下载到桌面后，把下面内容保存为ssh.bat，运行之</p>
<p>[bash]<br />
@echo off<br />
plink -C -v -N -D 7070 -l 用户名 -pw 密码 服务器名<br />
[/bash]</p>
<p><strong>说明：</strong></p>
<ul>
<ul>
<li>* 换成相应的信息，参数之间是有个空格的。</li>
<li>* -C表示压缩数据 -v表示显示输出信息 -N 表示不打开远程终端 -D 表示映射本地端口 -l 表示登陆名 -pw 表示密码</li>
<li>* 如果要指定远程端口，使用参数-P，如指定远程端口1024，-P 1024</li>
<li>* 初次登陆会问你y/n, 按y</li>
<li>* 密码可能要双引号。如密码是&amp;zerwerjk , 参数-pw要变成 -pw “&amp;zerwerjk”</li>
</ul>
</ul>
<p><strong>针对问y/n，官方的说法是这样的</strong></p>
<blockquote><p>To avoid being prompted for the server host key when using Plink for an automated connection, you should first make a manual connection (using either of PuTTY or Plink) to the same server, verify the host key (see section 2.2 for more information), and select Yes to add the host key to the Registry. After that, Plink commands connecting to that server should not give a host key prompt unless the host key changes.</p></blockquote>
<p>大意是，先登陆一次那个服务器，回答了那个y/n的问题，之后再登陆就不用回答了。</p>
<p><strong>折腾了一段时间，发现我out了，在windows也可以用管道 | , 一个echo y就解决了即</strong></p>
<p>[bash]<br />
@echo off<br />
echo y|plink -C -v -N -D 7070 -l 用户名 -pw 密码 服务器名<br />
[/bash]</p>
<p><strong>阅读更多！</strong><br />
怎么隐藏cmd窗口?<br />
把下面代码保存为ssh.vbs，运行之。</p>
<p>[bash]<br />
dim objShell<br />
set objShell=wscript.createObject(&#8220;WScript.Shell&#8221;)<br />
iReturnCode=objShell.Run(&#8220;ssh.bat&#8221;,0,TRUE)<br />
[/bash]</p>
<p><strong><br />
更高深的ssh.bat/ssh.vbs版本?</strong><br />
<strong>版本1 在ssh断开之后播放一个声音。</strong></p>
<p>[bash]<br />
@echo off<br />
plink -C -v -N -D 7070 -l 用户名 -pw 密码 服务器名<br />
mplayer supermario_game_over.wav[/bash]</p>
<p><strong>说明：</strong><br />
1、要下载命令行版本的mplayer才行。折腾帝哈。<br />
2、把mplayer的路径添加到环境变量。<br />
3、我不知道windows下的播放声音命令是什么，linux下是aplay或者ossplay，有知道的朋友请告知一下。</p>
<p><strong>版本2 在ssh断开之后显示一个窗口</strong><br />
把ssh.vbs内容换成</p>
<p>[bash]<br />
dim objShell<br />
set objShell=wscript.createObject(&#8220;WScript.Shell&#8221;)<br />
iReturnCode=objShell.Run(&#8220;ssh.bat&#8221;,0,TRUE)<br />
a=&#8221;SSH断开了 : (&#8221;<br />
msgbox a ,48,&#8221;提示&#8221;[/bash]</p>
<p>附上</p>
<p>用户环境变量的设定 计算机==&gt;右键“属性”==&gt;“高级系统设置”==&gt;“环境变量”==&gt;用户环境变量“编辑”</p>
<p>SSH断开了</p>
]]></content:encoded>
			<wfw:commentRss>https://www.softwareace.cn/?feed=rss2&#038;p=644</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Http代理与Sock5代理服务器的区别</title>
		<link>https://www.softwareace.cn/?p=643</link>
		<comments>https://www.softwareace.cn/?p=643#comments</comments>
		<pubDate>Fri, 15 Nov 2013 10:07:01 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[网络代理]]></category>

		<guid isPermaLink="false">http://www.softwareace.cn/?p=643</guid>
		<description><![CDATA[博客从从国外搬到了国内。优点是速度快了，缺点原来主机带的ssh不能继续用了。原来是用的myentunel+ss [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>博客从从国外搬到了国内。优点是速度快了，缺点原来主机带的ssh不能继续用了。原来是用的myentunel+ssh提供socket5代理，现在只好用免费的GAppProxy了。GAppProxy提供的是http代理，那具体这两个代理有什么不同呢？<br />
http代理服务器和sock5代理服务器是代理服务器的两种类型，采 用不同的网络协议，是代理服务器的两种基本形式。<br />
以下为http代理服务器和sock5代理服务器的区别与定义：<br />
SOCK5代理服务器 :<br />
被代理端与代理服务器通过“SOCK4/5代理协议”进行通迅（具体协 议内容可查看RFC文档）。SOCK4代理协议可以说是对HTTP代理协议的加强，它不仅是对HTTP协议进行代理，而是对所有向外 的连接进行代理，是没有协议限制的。也就是说，只要你向外连接，它就给你代理，并不管你用的是什么协议，极大的弥补了HTTP代理协议的不足， 使得很多在HTTP代理情况下无法使用的网络软件都可以使用了。（例如：OICQ、MSN等软件 ）SOCK5代理协议又对前一版进 行了修改，增加了支持UDP代理及身份验证的功能。它不是“协议代理”，所以它会对所有的连接进行代理，而不管用的是什么协议。<br />
采用socks协议的代理服务器就是SOCKS服务器，是一种通用的代理服务器。Socks是个电路级的底层网关，是 DavidKoblas在1990年开发的，此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台，Socks 代理与应用层代理、 HTTP 层代理不同，Socks 代理只是简单地传递数据包，而不必关心是何种应用协议（比如FTP、HTTP和NNTP请求）。所以，Socks代理比其他应用层代理要快得多。它通常绑 定在代理服务器的1080端口上。如果您在企业网或校园网上，需要透过防火墙或通过代理服务器访问 Internet就可能需要使用SOCKS。一般情况下，对于拨号上网用户都不需要使用它。注意，浏览网页时常用的代理服务器通常是专门的http代理， 它和SOCKS是不同的。因此，您能浏览网页不等于 您一定可以通过SOCKS访问Internet。常用的防火墙，或代理软件都支持SOCKS，但需要其管理员打开这一功能。如果您不确信您是否需要 SOCKS或是否有SOCKS可用，请与您的网络管理员联系。为了使用socks，您需要了解一下内容：<br />
① SOCKS服务器的IP地址<br />
② SOCKS服务所在的端口<br />
③ 这个SOCKS服务是否需要用户认证？如果需要，您要向您的网络管理员申请一个用户和口令<br />
知道了上述信息，您就可以把这些信息填入“网络配置”中，或者在第一次登记时填入，您就可以使用socks代理了。<br />
在实际应用中 SOCKS代理可以用作为：电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等等各种游戏应用软件当中。</p>
<p>HTTP 代理服务器:<br />
同上利用HTTP协议通讯的方式,HTTP协议即超文本传输协议，是Internet上进行信息传输时使用 最为广泛的一种非常简单的通信协议。部分局域网对协议进行了限制，只允许用户通过HTTP协议访问外部网站<br />
www对于每一个上网的人都再熟悉不过了，www连接请求就是采用的http协议，所以我们在浏览网页，下载数据（也可采用ftp协议）是就是 用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。<br />
除http代理服务器和sock5代理服务器之外，别的类型的代理服务器还有：sock4，ftp等。<br />
总体来说，socket5代理服务器比http代理强大的多。</p>
]]></content:encoded>
			<wfw:commentRss>https://www.softwareace.cn/?feed=rss2&#038;p=643</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VPN与SSH 代理哪种好用? VPN与SSH的优缺点</title>
		<link>https://www.softwareace.cn/?p=642</link>
		<comments>https://www.softwareace.cn/?p=642#comments</comments>
		<pubDate>Fri, 15 Nov 2013 10:01:08 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[网络代理]]></category>

		<guid isPermaLink="false">http://www.softwareace.cn/?p=642</guid>
		<description><![CDATA[SSH 和 VPN 都是加密的、可靠的技术，都跨平台，所以很多人就产生了到底该使用 SSH 还是应该使用 VP [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>SSH 和 VPN 都是加密的、可靠的技术，都跨平台，所以很多人就产生了到底该使用 SSH 还是应该使用 VPN 作为自己上网的辅助工具的疑问。</p>
<p>VPN与SSH的定义：<br />
SSH定义：<br />
Secure Shell应用层/传输层方式: 通过SSH连接，在本地与远程服务器之间建立一个加密的管道(Tunnel)，SSH客户端监听本地端口，形成SOCKET5代理。由于IE对 SOCKET5代理不好，大家一般都是用FireFox。直接将FireFox设置Socket5代理就是可以正常使用的。但是这样，上国内网站也会绕道国外，影响速度。好在FireFox有大量优秀的插件，FoxyProxy和AutoProxy是很常用的，通过URL筛选决定是否通过代理访问网站的插件，后者用的尤其多。<br />
VPN定义：<br />
Virtual Private Network虚拟专用网络，VPN其实也是在本地与远程服务器之间建立了一个加密的通道，但是与SSH不同的是，VPN客户端会虚拟一个网卡出来，这个虚拟的网卡连接的就是刚才说的那个加密通道，然后修改路由，使流量从加密通道走，达到加密的目的（也就是小编以前介绍的VPN全局加速与局部加速）。当然，VPN也存在跟SSH相同的问题，如果访问国内网站会绕道国外。http://www.goy2.com/822聪明的人们又想出了办法，连接了VPN的电脑相当于有两块网卡，只要让国内流量从真实网卡走而国际流量从虚拟网卡走，这个问题就解决了。<br />
他们从原理上是不一样的。VPN 是虚拟专用网络，它虚拟了一个网卡，类似于一个数据隧道，使用 VPN 后，你连接到了一个新的网络连接，这个网络连接和你所使用的宽带连接、局域网连接等是平级的。<br />
SSH 则不同。他不是一个单独的网络连接，只是在现有网络连接内的一个协议。你使用一个客户端程序。该程序和远程服务器通过 SFTP 协议交互，在本地作为一个代理服务器，你将浏览器连接时所使用的代理服务器设置为本机，端口设置为本地代理服务器所在的端口，这样，你访问网络时的速度都通过了 SSH 服务器端的中转，而这中间的数据又是加密的，所以你就获得了一个加密、安全的网络环境。</p>
<p>该选择 VPN 还是 SSH ？<br />
对于该使用VPN还是SSH，如果上面的定义看懂了的话，我想你心理应该会有答案了，当然，对于小白用户，咱还是说的详细点：<br />
如果你使用的软件没有设置代理的功能，http://www.goy2.com/835你必须使用 VPN（除了浏览器，很多程序都是没有设置代理的功能的）。VPN 的全局性在这里发挥了很好的作用。<br />
如果你需要对个别网站使用加密连接，需要通过网址快速切换加密和普通网络，建议使用 SSH，而且SSH的价格比VPN要稍便宜一些。<br />
如果你不仅需要加密网站，还要玩一些外服游戏加速的，如美服，韩服之类的，那么使用VPN是个不错的选择。<br />
在VPN和SSH的速度方面，一直存在争议，即使存在速度方面的差异，也是可以忽略不计的，在使用中基本上感觉不出来。<br />
小编个人觉得，VPN的使用体验好于SSH，想比这也是为什么VPN比SSH更为人所知的原因吧！</p>
]]></content:encoded>
			<wfw:commentRss>https://www.softwareace.cn/?feed=rss2&#038;p=642</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
