我有一个运行在数据中心的Linux服务器,它有一些额外的带宽和资源。
我想build立一个代理服务,以便我可以通过它从我家路由所有的http / httpsstream量。 我知道如何configuration我的浏览器与代理交谈,我只是不知道如何设置它的服务器端。 我也想authentication,只有我可以使用它
我最喜欢的方式是使用ssh / SOCKS和SOCKS隧道。
如果你在你的colo'd服务器上运行sshd,这就是你所需要的。
使用
ssh -D 9000 yourhost.foo.com
然后调整浏览器在127.0.0.1端口9000上使用SOCKS代理。
使用Firefox,我喜欢使用Foxyproxy来快速更改代理configuration。
这是一个确定的页面,更多的细节。 SSH代理详细信息
也许,但只是在这种情况下使用某种通用的解决scheme是不错的select。 所以我尽可能地推荐鱿鱼,当有人需要一个代理服务。 原因是多方面的:文档无处不在,对于基本的和更具体的请求是一般的解决scheme,而且最重要的是,我的经验表明,具有简单请求的客户很快就成为客户,其代理服务非常复杂。
稍后讨论一下…
我发现tinyproxy比squid更容易安装,并且更轻,特别是对于仅供您自己使用的服务器。
关键是您的数据中心服务器是否正在运行sshd。
如果是的话,那么使用ssh做端口转发的答案自动解决授权问题。 设置tinyproxy绑定到127.0.0.1,只有具有ssh访问权限的用户可以连接到它。
如果不是,则可以将tinyproxyconfiguration为仅接受来自特定主机或IP地址的连接。 如果你在家里有一个静态的IP地址,问题就解决了。
如果您有一个dynamic地址,则可能愿意接受来自家庭连接的子部分的连接。 例如,您的ISP将您的家庭连接设置为192-192-192-192-area1-san-fran-cal-usa,您可以将tinyproxy设置为仅接受来自area1-san-fran-cal-usa的连接(从而忽略IP连接部分)。 其他区域1用户发现您的代理并开始使用它的风险。
这是我用于我的VPS代理,它工作正常,特别是因为我在我的ISP的一个相对较小的stream域。 我从来没有其他人使用代理,但我知道这是一个风险(我愿意采取 – 我可以随时改变tinyproxy,如果我发现别人使用它)。
简单地通过您的Linux服务器pipe理所有HTTP / HTTPSstream量的绝对最简单的方法是使用dynamicssh隧道。 这不需要在数据中心的服务器上进行设置 – 假设它已经有一个没有禁用SSH隧道的ssh服务器。
dynamicSSH隧道是许多SSH客户端(openssh和PuTTY等)中的一个特性,其中SSH客户端在运行客户端的计算机上设置“假SOCKS代理”,然后将这些SOCKS请求转换为SSH隧道,退出从你的服务器到更大的互联网。
如果您使用openssh作为您的客户端,您将使用ssh -D 3128 yourserver.example.com ,然后configuration您的Web浏览器使用localhost:3128作为您的SOCKS代理。
PuTTY也会这样做,看一下Connection – > SSH – > Tunnels并添加一个dynamic转发的端口(inputSource port,但保留Destination为空),然后configuration浏览器指向localhost:3128作为SOCKS代理,就像OpenSSH一样。
最简单的方法是通过SSH隧道:
ssh -D 8080 yourserver.com
现在,您可以将浏览器指向(SOCKS)代理localhost:8080 。
SSH将只绑定8080到127.0.0.1(和:: 1),所以没人可以使用它。
如果你在窗户上,你也可以使用腻子build立这个隧道。
或者,如果您想在您的服务器上configuration简单的HTTP代理服务器,请尝试https://banu.com/tinyproxy/它的configuration非常简单,易于使用并具有一组不错的function。