squid启用https反向代理CDN

技术问题

squid启用https反向代理CDN

2024-07-19 09:33


squid启用https反向代理CDN

                                            




 c:\squid\etc是SQUID的配置信息的存放处,为确保安全,在你修改配置文件前,请将其备份,然后将squid.conf.default修改为squid.conf,
   mime.conf.default修改为 mime.conf ,cachemgr.conf.default 修改为cachemgr.conf
针对于SQUID来讲大部分配都在squid.conf中,本文中所使用环境如下:
开启如下访问控制:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 172.16.65.231/255.255.0.0 #指定本地网络及掩码
开启访问端口:
acl SSL_ports port 443 acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
开启访问控制,请一定要注意顺序:
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
http_access allow localnet
http_access deny all
指定SQUID在80端口侦听, vhost 指定使用加速模式:
http_port 80 vhost
172.20.65.203后台WEB SERVER, parent指父节点, 80 指后台网站的端口, 0 ICP 服务端口,no-query  originserver 获取缓存时的选项:
cache_peer 172.20.65.203 parent 80 0 no-query originserver
缓存设置:
maximum_object_size_in_memory 1024 KB
cache_dir ufs d:/squid/var/cache 1024 16 256 #注意路径
maximum_object_size 4096 KB
cache_swap_low 90
cache_swap_high 95
日志设置:
access_log d:/squid/var/logs/access.log squid #访问日志
cache_log d:/squid/var/logs/cache.log
cache_store_log d:/squid/var/logs/store.log
emulate_httpd_log on
控制页面缓存内容:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
refresh_pattern -i \.css$ 20 50% 120 reload-into-ims
refresh_pattern -i \.xml$ 20 50% 120 reload-into-ims
refresh_pattern -i \.html$ 20 90% 120 reload-into-ims
refresh_pattern -i \.jpg$ 20 90% 120 reload-into-ims
refresh_pattern -i \.png$ 20 90% 120 reload-into-ims
refresh_pattern -i \.gif$ 20 90% 120 ignore-reload
refresh_pattern -i \.js$ 20 90% 120 reload-into-ims
refresh_pattern -i \.htm$ 20 90% 120 reload-into-ims
设置邮箱:
cache_mgr webmaster_breeze
设置本地主机文件:
hosts_file c:/windows/system32/drivers/etc/hosts
将squid安装为服务,命令格式:
squid -i [-f configfile] [-n servicename],如c:\squid\sbin\squid -i -n Squid_Proxy
初始化缓存目录:
c:\squid\sbin\squid -z
启动Squid_Proxy服务 :
运行services.msc打开服务窗口,选择Squid_Proxy服务 ,如果启动过程出错90%是配置文件出现问题。
squid命令 :
squid -k reconfigure //启用新的配置文件
squid -k rotate //截断日志
squid -k shutdown //stop squid
squid -dx //当服务不能启动时,进行调试
SQUID测试:
找一台机器进行测试,并查看access.log日志,如果出现 TCP_DENY的信息,多为配置不正确。
如出现如下信息TCP_MEM_HIT/200 表示,SQUID已经起作用,该请求是从 SQUID运行机器的内存中响应的。


1、修改squid的配置文件squid.conf
    用文本编辑器打开 /etc/squid/squid.conf,修改前备份一下配置文件,需要修改的地方:
   a、配置squid监听的端口
        找到http_port 3128在后面增加一行
        https_port 443 accel vhost cert=/etc/squid/mybank.crt key=/etc/squid/mybank.key
 
        注解:
        443 :squid将会监听的端口
        Transparent :透明模式,即不需要客户端做特殊的配置
   b、配置squid代理的服务的ip地址和端口号
        添加cache_peer 192.168.0.137 parent 80 0 no-query originserver
 
        注解:
            192.168.1.8 : 需要squid代理的服务器的ip
            7001 :需要squid代理的服务器指定服务的端口号
 
    c、在cache_peer 192.168.0.137 parent 80 0 no-query originserver下面添加visible_hostname volcano(任意命名)
 
        注解:
   Volcano :可以根据集体情况任意配置
     d、找到http_access deny all在其前面加#将这一行注释掉,然后增加一行
    http_access allow all
 
        注解:
       http_access allow all :squid访问权限的控制,允许所有人访问
2、启动或重启squid
    a、检查squid.conf是否符合要求
        squid -k parse
    b、重新加载squid.conf
        service squid reload
    c、重启squid
        service squid restart
    d、检查squid状态
        service squid status


標簽:
  • squid启用https反向代理CDN