蓝易云

Docker 网络代理服务器 squid

937次阅读
2条评论

共计 1172 个字符,预计需要花费 3 分钟才能阅读完成。

爬虫或者不能访问外网时,可能需要用到代理服务器,接下来使用 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

Docker 网络代理服务器 squid

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

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

Docker 网络代理服务器 squid

提醒:本文发布于772天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 0
阿蛮君
版权声明:本站原创文章,由 阿蛮君 于2022-10-10发表,共计1172字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2条评论)
le 评论达人 LV.1
2024-07-31 13:54:39 回复

能否更新下https代理

 Windows  Edge  中国河南省信阳市移动
    阿蛮君 博主
    2024-07-31 14:18:23 回复

    @le 不是很理解你的意思,如果你是说squid的代理链接修改为https,我不清楚是否自带,实在不行可以添加一个nginx在前面。如果你是说代理https协议,可以指定 https_proxy = http://ip:3128

     Windows  Edge
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 蓝易云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock