更新日期:

如何在pfSense上设置Polipo缓存Web代理服务器

作者:

山姆是一家算法交易公司的网络分析师。他在UMKC获得了信息技术学士学位。

Polipo有几个很好的特性,使它成为其他更流行的代理的一个很好的替代品,例如鱿鱼. 这些功能中最吸引人的是HTTP流水线

管道允许代理在一个连接上发送多个HTTP请求,而不必等待返回的响应。流水线带来的效率提高可以大大提高网页浏览速度。

另一大特色波利波是它的能力缓存部分实例.如果连接在请求期间中断,代理将将已经完成的请求部分存储为部分对象。

当收到对同一对象的新请求时,代理可以使用HTTP范围请求仅请求请求缺少的部分。Polipo目前无法作为pfSense封装但是自从FreeBSD版本它已经存在,但仍然可以相对轻松地安装。

这个过程需要编辑一些配置文件,但相信我,这是值得的!

安装Polipo软件包

由于Polipo不是官方支持的软件包,因此无法通过pfSense软件包管理器安装它。相反,必须使用pkg_add命令通过命令行shell安装Polipo。

pkg_add ftp://ftp - r - archive.freebsd.org/pub/freebsd archive/ports/i386/packages release/latest/polipo.tbz——8.1

也可以通过diagnostics(诊断)菜单中的execute command(执行命令)功能或通过SSH终端会话执行上述命令。

Polipo是一个非常小的软件包,因此安装时间不会太长。

Polipo可以通过SSH终端或基于web的命令提示符安装。

Polipo可以通过SSH终端或基于web的命令提示符安装。

创建Polipo配置文件

Polipo软件包安装了一个示例配置文件,可以对其进行编辑以适应您的网络。运行以下命令将示例配置文件复制到名为config的新文件。

cd/usr/local/etc/polipo/
cp config.sample config

接下来,使用vi编辑器或基于web的文件编辑器(Diagnostics\edit file)编辑配置文件。

vi配置

取消对配置文件基本配置部分中的以下行的注释。这将指示Polipo侦听系统上的所有接口。

proxyAddress=“0.0.0.0”#仅限IPv4

要保护代理,请取消注释以下行,并更改网络地址以匹配本地网络的LAN子网。

由于FreeBSD Polipo包中的一个bug,您必须从命令行中删除双引号。如果你忘记删除引号,当你尝试启动Polipo时,你会看到“无法解析网络”的信息。

AllowedClient=127.0.0.1192.168.10.0/24

基于web的文件编辑器为修改配置文件提供了一种快速简便的方法。

基于web的文件编辑器为修改配置文件提供了一种快速简便的方法。

可选配置文件调整

此表包含一些您可能希望在Polipo配置文件中修改的参数。

参数 描述

proxyName=“polipo.example.org”

此字段可用于更改错误消息上显示的代理的名称。

chunkHighMark=50331648对象HighMark=16384

在内存充足的框中,这些行可以取消注释以提高性能。

diskCacheRoot=“”

取消注释该行将禁用基于磁盘的缓存,并在仅内存缓存模式下运行。

disableIndexing=false disableServersList=false

取消对这些行的注释以启用web界面上的已知服务器和磁盘缓存索引页。

proxyPort=3128

此变量可用于修改Polipo运行的端口。

编辑rc.conf文件

在Polipo服务器启动之前,必须修改rc.conf文件以包含Polipo_enable=yes。在pfSense上,此文件位于/etc/defaults目录中。

此条目可以添加到rc.conf文件的任何位置。在下面的示例中,我使用基于web的文件编辑器将其添加到文件末尾。

如果您更喜欢使用SSH,可以使用以下命令将config标志自动附加到rc.conf文件的底部。

echo“polipo_enable=yes”>>/etc/defaults/rc.conf

必须修改rc.conf文件才能启动Polipo服务器。

必须修改rc.conf文件才能启动Polipo服务器。

设置初始化脚本

为确保Polipo服务成功启动,有必要修改启动脚本。将以下命令添加到/usr/local/etc/rc.d/Polipo文件的开头,就在comments部分之后。

[-d/var/run/polipo]| | mkdir/var/run/polipo

周-R polipo/var/run/polipo/

第一个命令创建/var/run/polipo目录(如果它不存在)。第二个命令将此目录的所有者更改为Polipo用户。

由于pfSense会在系统启动时删除/var/run中的任何额外目录,因此这些额外命令是必需的。如果脚本中没有这些命令,Polipo将无法在重新启动后运行。

必须编辑初始化脚本,以允许Polipo在引导时自动启动。

必须编辑初始化脚本,以允许Polipo在引导时自动启动。

创建启动脚本

为了让pfSense在引导时自动启动Polipo,必须在/usr/local/etc/rc.d中创建一个启动脚本。

PfSense将在系统启动期间自动运行此目录中以.sh结尾的任何文件。

下面的命令将创建polipo.sh启动脚本,并使脚本可执行。

touch/usr/local/etc/rc.d/polipo.sh

chmod + x/usr/local/etc/rc.d/polipo.sh

创建脚本后,将下面的内容复制并粘贴到文件中并保存它。与前面的步骤一样,这可以通过vi编辑器(vi /usr/local/etc/rc.d/ polio .sh)或基于web的文件编辑器完成。

脊髓灰质炎

#!/bin/shrc_开始() {/usr/地方的/etc/rc.d/polipo启动}火车站() {/usr/地方的/etc/rc.d/polipo站}案例$1在里面开始)rc_开始;;(停止)火车站;;重新启动)火车站rc_开始;;以撒

启动Polipo代理服务

一切终于准备就绪,可以开始Polipo服务了。

/usr/local/etc/rc.d/polipo.sh启动

为了确保服务成功启动,请检查polio日志文件。

tail/var/log/polipo

如果一切正常,您应该会看到一条消息,说明“端口8123上已建立侦听套接字”。

使用SSH外壳启动Polipo web代理服务器。

使用SSH外壳启动Polipo web代理服务器。

测试代理服务器

一旦Polipo启动并运行,就可以使用web浏览器测试代理服务器了。在运行Windows 7的计算机上,可以通过“控制面板”中的“internet选项”菜单添加代理。

在internet属性菜单中,单击连接点击,然后单击LAN设置按钮。

Windows 7 Internet属性控制面板

Windows 7 Internet属性控制面板

添加代理服务器IP

在LAN设置中,控制面板启用复选框“为LAN使用代理服务器”。在地址框中输入pfSense服务器的LAN IP地址,然后输入8123作为代理端口。

端口8123是polipo的默认端口,但可以通过将proxyPort变量添加到配置文件来更改。

通过LAN设置控制面板添加代理IP。

通过LAN设置控制面板添加代理IP。

测试互联网接入

添加代理IP和端口后,保存设置,然后尝试通过浏览器访问网页。如果页面加载成功,那么Polipo代理功能正常。

如果未加载网页,请检查以确保Polipo正在运行。检查Polipo服务状态的最快方法是运行以下命令。

/usr/local/etc/rc.d/polipo状态

您应该看到一条消息,表明polipo正在作为pid xxxxx运行。

访问Polipo Web界面

Polipo守护程序运行时,可以通过端口8123上的LAN接口访问服务器的web接口。

web界面提供了一些与代理服务器当前状态相关的有用状态报告。

配置页面还允许您查看所有当前配置的设置。config链接还允许轻松修改几个参数。

通过使用浏览器连接端口8123上服务器的LAN IP,可以访问Polipo web界面。

通过使用浏览器连接端口8123上服务器的LAN IP,可以访问Polipo web界面。

额外资源

根除小儿麻痹症的作者在他的网站上创建了许多根除小儿麻痹症的文件。我建议大家通读一下FAQ部分其中包含了一些有用的提示和技巧。

手册,您将发现有关Polipo的几乎所有问题的更深入的详细信息。

据作者所知,这篇文章准确、真实。内容仅用于信息或娱乐目的,不能替代商业、金融、法律或技术事务中的个人顾问或专业建议。

©2013 Sam Kear

评论

英雄2017年3月4日:

兄弟,如果我安装Polipo代理服务,同时我想使用SquidGuard作为web过滤,有可能吗

乔马2015年7月4日:

你能做一个如何在windows中安装它的教程吗?我可以在笔记本电脑上使用它吗?谢谢

山姆·基尔(作者)来自堪萨斯城2015年3月27日:

@JulioQc

谢谢你提醒我,我已经在文章中更正了。

JulioQc2015年3月26日:

[-d/var/run/polipo]

应该是

[-d/var/run/polipo]

请注意第一个括号和破折号之间的间距:)

相关文章

Baidu