综合实践.note
一、配置 CA:
vim /etc/ssl/openssl.cnf
DNS 是为了让 浏览器访问不报错,IP地址是为了 让 Squid 反向代理 与 Web建立 443 连接时,Squid访问不报错(如果指定的是IP地址,需要IP字段,如果Squid指定的是域名,那么就无需)
/usr/lib/ssl/misc/CA.pl -newca
/usr/lib/ssl/misc/CA.pl -newreq-nodes
/usr/lib/ssl/misc/CA.pl -sign
scp new* root@192.168.1.103:/etc/ssl //复制给 Web
scp new* root@192.168.1.102:/etc/ssl //复制给 Squid
scp demoCA/cacert.pem root@192.168.1.200 //发送给客户端,让客户端信任根证书
scp demoCA/cacert.pem root@192.168.1.102 //发送给 Squid反向代理,让Squid反向代理信任证书
scp demoCA/cacert.pem root@192.168.1.102 //发送给 Proxy正向代理,让Squid正向代理服务器信任证书二、配置 DNS:
注意:这里需要将 DNS指向反向Squid服务器
apt install -y bind9
vim /etc/bind/named.conf
vim db.abc
三、在 Proxy 上配置 正向代理:
# 信任CA根证书
cp ~/cacert.pem /usr/local/share/ca-certificates/ca.crt
update-ca-certificates
# 配置 Squid正向代理:
apt install -y squid
cd /etc/squid
cp squid.conf squid.conf.bak
egrep -v "^$|^#" squid.conf.bak > squid.conf
vim /etc/squid.conf
四、在 Squid上 配置 反向代理:
# 信任CA根证书:
cp ~/cacert.pem /usr/local/share/ca-certificates/ca.crt
update-ca-certificates
# 配置 Squid 反向代理:
apt install -y squid squid-openssl //需要安装 squid-openssl ,443的反向代理才会正常运行(否则会报错:502 Bad Gateway)
cd /etc/squid
cp squid.conf squid.conf.bak
egrep -v "^$|^#" squid.conf.bak > squid.conf
vim /etc/squid.conf
deny_info 定义的 https://abc.com%R 中的 %R 表示,重定向时保留原URL的后缀,例如要访问 https://abc.com/123.txt,那么就会将其后面的也重定向过去,而不是只重定向到 https://abc.com/
五、配置 apache2:
apt install -y apache2
cd /etc/apache2/sites-available
a2dissite 000-default.conf
cp 000-default.conf abc.com.conf
mkdir /var/www/abc.com
chmod -R 777 /var/www/abc.com
echo "Welcome to abc.com" > /var/www/abc.com/index.html
a2ensite abc.com.conf
vim abc.com.conf
只允许 Squid 访问:
vim /etc/apache2/apache2.conf
六、配置 客户端:
vim /etc/enviroment
export http_proxy
source /etc/enviroment
· 验证:
1、验证 DNS:
在任意一台机器上:

2、验证 CA:
在 CA上:

3、验证 Web 配置:
(1)网页根目录:

(2)网站域名:

(3)验证网站首页,和网站首页内容:


(4)验证网站虚拟主机配置文件:

(5)验证 Web 只允许 Squid 访问,拒绝其它IP地址访问:
squid 访问:

其它机器访问:

4、客户端访问,验证 squid:
(1)验证 端口 3128

(2)验证 http 重定向 到 https:

(3)验证,禁止访问 .mp3 .mp4 文件后缀:


(4)验证 Proxy设备的正向代理,只允许 client访问,拒绝其它IP地址访问:
Client访问:
访问成功:

其它设备访问:
访问拒绝

(5)验证 只允许访问 Web服务器(abc.com),拒绝其它域名访问:
访问成功

为其它域名添加解析,然后访问:
访问失败
