squid搭建http/https代理服务器

时间:2024-03-17 20:15:24

前言:笔者使用的长城宽带,访问国外网站,比如mysql,nginx等站点的速度.......,你懂得,于是想到使用腾讯云主机搭建squid代理服务器,这里搭建的是一般代理服务器,squid代理服务器分为三种,后面有时间再慢慢研究,步骤如下:

1、 源码安装或者rpm安装Squid

我这里使用源码安装

tar -xf squid-3.5.24.tar.gz

编译时未指定任何参数,默认安装目录/usr/local/squid,安装步骤不再赘述。

2、 新建用户

useradd -g nobody -r squid

chown -Rf squid:nobody /usr/local/squid

chown -Rf nobody /usr/local/squid/var/cache/

chown -Rf nobody /usr/local/squid/var/logs/

3、配置squid

vim /usr/local/squid/etc/squid.conf

cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256

coredump_dir /usr/local/squid/var/cache/squid

cache_mem 60 MB

dns_nameservers 8.8.8.8

http_port 3128

http_access allow all

4、 初始化squid

/usr/local/squid/sbin/squid -z

启动squid

/usr/local/squid/sbin/squid

5、 浏览器使用代理,验证http代理是否正常。

6、 配置https代理

申请证书

  • openssl req -new -keyout /usr/local/squid/etc/key.pem -nodes -x509 -days 365 -out /usr/local/squid/etc/cert.pem

squid.conf添加:

https_port 443 cert=/usr/local/squid/etc/cert.pem key=/usr/local/squid/etc/key.pem transparent

浏览器ssl代理也为IP 3128,进行访问验证。

7、 访问权限控制

我是在腾讯云搭建代理服务器,代理公用显然不合适,简单起见,设置账户控制访问;

htpasswd -c /usr/local/squid/etc/passwd username

然后输入密码即可

squid.conf添加:

auth_param basic program /usr/local/squid/libexec/basic_ncsa_auth /usr/local/squid/etc/passwd

acl auth_user proxy_auth REQUIRED

http_access allow auth_user  #注意上面的all 改为auth-user

浏览器重新访问验证

输入密码访问即可

查看日志会发现,https请求日志类似下面格式: