使用Amazon免费云主机和Docker技术,快速搭建Squid服务器!

首要要申请使用Amazon的EC2,具体步骤就不��嗦了,不熟悉的同学可以参考以下步骤(Amazon网站上有详细的在线说明)。

  • 账号注册

  • 绑定信用卡:这个是必须过程,但不需要付费。

  • 访问AWS控制台:https://console.aws.amazon.com 

    在主WEB面板点击compute的EC2

    接着在EC2面板中点击Launch Instance

    选择主机镜像

    选择实例的类型,这里我们选择第一个:Free tier eligible,不要选择其它的,否则导致付费

    配置实例的细节,这里要注意的是Auto-assign Public IP参数一定要Enable,否则你的VM是没有外网IP无法远程和上网的

    添加存储,这里Amazon提示可以提升到30GB的存储,我这里用默认的就够了

    定义实例标签

    配置安全组(组里面是定义一些限制或者端口策略),这里有2个端口是要对外开放的:

       -   SSH协议的22端口:为了我们远程配置与管理

       -   http代理服务使用的3128端口(默认)

    创建密钥对并下载私钥证书

  • 选择上面下载到本地的私钥证书,用XSHELL(Linux)或putty(Windows)进行连接

  • 进入系统后首先安装并启动docker服务(直接使用yum命令就行)

    sudo yum install docker       //安装docker

    sudo service docker start    //启动docker后台服务


下面我们进入正题,如何在5分钟时间内完成squid代理服务的搭建。

一、使用pull命令从docker hub 下载一个成熟的squid镜像

docker pull sameersbn/squid:latest

二、启动容器

docker run --name squid -d --restart=always 
 --publish 3128:3128 \
 --volume /srv/docker/squid/cache:/var/spool/squid3 \
 sameersbn/squid:latest

三、从容器中将配置文件复制到主机(也可以使用attach方式直接进入容器修改相关配置文件后再食用commit命令持久化到镜像,但从后期维护的角度不建议采用这种方式)

docker cp squid:/etc/squid3/ .

四、修改已复制到主机的配置文件(设置访问权限等),最小修改一条即可。

vi squid.conf
    # And finally deny all other access to this proxy
    http_access allow all   #将这里的  deny all 修改为 allow all

五、停止并删除正在运行的容器后,采用卷绑定主机配置文件的方式再重新启动

docker stop squid
docker rm squid
docker run --name squid -d --restart=always   --publish 3128:3128   --volume /srv/docker/squid/cache:/var/spool/squid3  --volume /home/ec2-user/squid/squid3:/etc/squid3  sameersbn/squid:latest

六、现在一个私有的http代理服务器就已经搭建好了,修改浏览器的访问设置后就可以直接使用了。

export ftp_proxy=http://{EC2云主机ip}:3128
export http_proxy=http://{EC2云主机ip}:3128
export https_proxy=http://{EC2云主机ip}:3128


其他:

A、采用退出时清除容器的方式启动:

sudo docker run --name squid --rm --publish 3128:3128   --volume /srv/docker/squid/cache:/var/spool/squid3  --volume /home/ec2-user/squid/squid3:/etc/squid3  sameersbn/squid:latest

B、查看代理访问日志:

sudo docker exec -it squid tail -f /var/log/squid3/access.log

c、访问并进入正在运行的容器

sudo docker exec -it squid bash



你可能感兴趣的:(squid,Amazon,代理服务)