Docker 网络代理服务器 squid

爬虫或者不能访问外网时,可能需要用到代理服务器,接下来使用 docker 搭建代理 squid 服务器。

一、复制配置文件

# 创建一个临时容器
docker run -d --rm --name squid -p 3128:3128 ubuntu/squid
# 复制配置文件
mkdir /home/docker/squid && \
cd /home/docker/squid/ && \
docker cp squid:/etc/squid/squid.conf . && \
docker rm -f squid

二、配置启动

2.1 不需要设置密码

1、修改配置

sed -i "s/http_port 3128/http_port 0.0.0.0:3128/g" squid.conf
sed -i "s/http_access deny all/http_access allow all/g" squid.conf

2、启动容器

docker run -d \
--name squid \
-v /home/docker/squid/squid.conf:/etc/squid/squid.conf \
-p 3128:3128 ubuntu/squid

2.2 配置用户名密码

注意: 不需要认证则无需进行操作。

1、生成密码

# 生成密码文件
cd /home/docker/squid/ && docker run --rm -ti xmartlabs/htpasswd admin admin > htpasswd

2、修改配置

sed -i "s/http_port 3128/http_port 0.0.0.0:3128/g" squid.conf
# 需要添加在 http_access deny all 前面,这里添加到最前面
sed -i '1i\auth_param basic program \/usr\/lib\/squid\/basic_ncsa_auth \/etc\/squid\/htpasswd\nacl auth_user proxy_auth admin\nhttp_access allow auth_user' squid.conf

3、启动容器

docker run -d \
--name squid \
-v /home/docker/squid/squid.conf:/etc/squid/squid.conf \
-v /home/docker/squid/htpasswd:/etc/squid/htpasswd \
--restart always \
-p 3128:3128 ubuntu/squid

三、测试

内网机器没有配置代理时不可访问百度,配置后可以进行访问。

curl www.baidu.com -x http://username:password@ip:3128

1665295985128.png

使用服务器作为代理前的 ip 和代理后的 ip。

curl http://myip4.ipip.net/ -x http://username:password@ip:3128

QQ截图20221009113741.png

AD: 【腾讯云服务器大降价】 2核4G 222元/3年 1核2G 38元/年
网站:阿蛮君博客
标题:Docker 网络代理服务器 squid
链接:https://www.amjun.com/639.html
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
THE END
分享
二维码
打赏
海报
Docker 网络代理服务器 squid
爬虫或者不能访问外网时,可能需要用到代理服务器,接下来使用 docker 搭建代理 squid 服务器。 一、复制配置文件 # 创建一个临时容器 docker run -d --rm --n……
<<上一篇
下一篇>>