Linux,简单的http代理

Linux,简单的http代理

我在数据中心运行一个 Linux 服务器,它有一些额外的带宽和资源。

我想设置代理服务,这样我就可以通过它路由我家里的所有 http/https 流量。我知道如何配置浏览器与代理通信,但我不知道如何在服务器端进行设置。我还想进行身份验证,这样只有我能使用它

答案1

我最喜欢的方式是使用 ssh/SOCKS 和 SOCKS 隧道。

如果您的 colo'd 服务器上运行着 sshd,那么这就是您所需要的。

使用

ssh -D 9000 yourhost.foo.com

然后调整您的浏览器以在 127.0.0.1 端口 9000 上使用 SOCKS 代理。

使用 Firefox,我喜欢使用 Foxyproxy 来快速更改代理配置。

这是一个包含更多详细信息的“确定”页面。 SSH 代理详细信息

答案2

讨论得有点晚了...

我发现 tinyproxy 比 squid 更容易设置,而且更轻便,特别是对于仅供您自己使用的服务器而言。

关键在于您的数据中心服务器是否正在运行 sshd。

如果是,那么这里使用 ssh 进行端口转发的答案会自动解决授权问题。将 tinyproxy 设置为绑定到 127.0.0.1,只有具有 ssh 访问权限的用户才能连接到它。

如果不是,那么你可以配置 tinyproxy 只接受来自特定主机或 IP 地址的连接。如果你家里有静态 IP 地址,问题就解决了。

如果您有动态地址,您可能愿意接受来自家庭连接子部分的连接。例如,您的 ISP 将您的家庭连接设置为 192-192-192-192-area1-san-fran-cal-usa,您可以将 tinyproxy 设置为仅接受来自 area1-san-fran-cal-usa 的连接(从而忽略连接的 IP 部分)。风险在于其他 area1 用户会发现您的代理并开始使用它。

这是我为 VPS 代理使用的,它工作得很好,特别是因为我所在的 ISP 覆盖范围相对较小。我从未让其他人使用过该代理,但我知道这是一种风险(我愿意承担风险——如果我发现其他人在使用它,我可以随时更换 tinyproxy)。

答案3

也许吧,但在这种情况下,使用某种通用解决方案也许是个不错的选择。因此,当有人需要代理服务时,我尽可能推荐使用 squid。原因有很多:文档随处可见,它是针对基本请求和更具体请求的通用解决方案,最重要的是,我的经验表明,具有简单请求的客户很快就会变成具有非常复杂代理服务请求的客户。

答案4

最简单的方法是通过 SSH 隧道:

ssh -D 8080 yourserver.com

现在您可以将浏览器指向(SOCKS)代理localhost:8080。SSH
只会将 8080 绑定到 127.0.0.1(和 ::1),因此其他人都无法使用它。

如果您使用的是 Windows,您也可以使用 Putty 来建立此隧道。

相关内容