windows环境下用squid代理https(ssl)的方法
这个其实跟配置http代理也差不多,我之前是因为没有使用支持ssl的squid版本,所以反复折腾都不见效!
首先得检查你正在使用的squid版本是否是支持ssl的,主要看squid\sbin\ssleay32.dll文件是否存在,如果没有此文件那就得去换个支持ssl的squid版本了。
我这里就只提供个最简单的例子:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
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
icp_access allow all
https_port 443 accel cert=c:/certs/server.pem key=c:/certs/server.pem vhost
cache_peer 192.168.1.13 parent 443 0 no-query originserver login=PASS ssl sslflags=DONT_VERIFY_PEER name=kensite
cache_peer_domain kensite ken.01h.net
hierarchy_stoplist cgi-bin ?
access_log c:/squid/var/logs/access.log squid
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
visible_hostname 01H.NET
coredump_dir c:/squid/var/cache
备注:“c:/certs/server.pem”这个文件是可以去提供ssl服务的软件相关目录下找到的,扩展名也有可能是.crt、.key等,我这里的.pem是以VisualSVN为例的。