【发布时间】:2018-06-22 17:24:40
【问题描述】:
我想设置一个 Elite HTTP 代理。 Elite proxy 不应向目标地址公开有关源的任何信息。为此,我聘请了一台 Ubuntu 虚拟专用服务器。代理应该受密码保护,这样只有我可以使用它。我想使用Squid 作为我的代理。
实现这一目标的步骤是什么?
【问题讨论】:
标签: ubuntu proxy http-proxy squid
我想设置一个 Elite HTTP 代理。 Elite proxy 不应向目标地址公开有关源的任何信息。为此,我聘请了一台 Ubuntu 虚拟专用服务器。代理应该受密码保护,这样只有我可以使用它。我想使用Squid 作为我的代理。
实现这一目标的步骤是什么?
【问题讨论】:
标签: ubuntu proxy http-proxy squid
更新您的 APT 存储库并安装我们需要的软件
sudo apt-get update
sudo apt-get install squid3
sudo apt-get install apache2-utils
Squid3 是代理软件。 htpasswd 需要 apache2-utils,我们将使用它作为平面文件密码存储来保护代理。
设置密码存储
sudo touch /etc/squid/passwords
sudo chmod 777 /etc/squid/passwords
sudo htpasswd -c /etc/squid/passwords USERNAME
[prompt for new password]
在上面的行中,将 USERNAME 替换为您希望在代理上使用的用户名。执行该行时,系统会提示您输入用户密码。
测试密码存储
/usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
执行此行后,控制台看起来就像挂起一样,有一个提示,其中没有任何文本。输入“用户名密码”(将这些替换为您的特定用户名和密码)并按回车键。您应该收到“OK”响应。如果不是,请查看错误消息,您的用户名/密码可能不正确。它也可能 basic_ncsa_auth 位于不同的路径上(例如 lib64)。
配置 Squid 代理
移动默认的 squid 配置文件
sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.original
现在创建一个新的 squid 配置文件
vi /etc/squid/squid.conf
应该是这样的
http_port 3128
dns_v4_first on
cache deny all
forwarded_for delete
tcp_outgoing_address 9.9.9.9 //-- change this ip
via off
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
下面是对每一行的描述:
重启 squid 代理
service squid restart
请注意,该服务也可以称为 squid3。代理可能需要一段时间才能重新启动。如果您愿意,可以使用命令重新加载 squid 配置
squid -k reconfigure
检查其工作情况
service squid status
服务应该正在运行。
netstat -ltnp
您应该会看到一个服务正在侦听端口 3128,或者您在配置中使用的任何端口。
在您的桌面上,打开 Firefox,转到选项 -> 网络代理 -> 设置。选择使用手动代理配置。在 HTTP 代理字段中输入服务器的 IP 地址,并在端口字段中包含端口。单击确定。
去谷歌,在提示时输入你的用户名和密码,搜索“我的IP地址是什么”,你应该看到你的代理服务器的IP。
【讨论】:
/usr/lib/squid3/basic_ncsa_auth: No such file or directory