前提是有一台美国或者香港的服务器。
需要两台机器配合使用
A 机器上(美国或香港机器)需要安装squid 并配置squid的ssl加密
B 机器需要安装 stunnel 来解密
1. A 机器安装squid
yum install squid
关键在于squid的配置文件
rm -f /etc/squid/squid.conf
vim /etc/squid/squid.conf
加入
https_port 443 cert=/etc/squid/123.com.crt key=/etc/squid/123.com.key
cache_replacement_policy lru
cache_dir aufs /data/cache1 1024 16 256
cache_mem 128 MB
cache_vary on
dns_nameservers 8.8.8.8
dns_nameservers 4.4.4.4
visible_hostname 123.com
acl all src 0.0.0.0/0.0.0.0
memory_pools on
forwarded_for on
cache_effective_user squid
cache_effective_group squid
ie_refresh on
hierarchy_stoplist cgi-bin ?
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440 50% 2880 ignore-reload
request_header_max_size 50 KB
http_access allow all
然后创建缓存目录
mkdir /data/cache1
chown -R squid:squid /data/cache1
创建对应的 crt key
openssl req -new > 123.com.csr
openssl rsa -in privkey.pem -out 123.com.key
openssl x509 -in 123.com.csr -out 123.com.crt -req -signkey 123.com.key -days 3650
mv 123.com* privkey.pem /etc/squid/
初始化缓存目录
squid -z
启动squid
/etc/init.d/squid start
B机器 安装 stunnel
yum install stunnel
[ -f /etc/stunnel/stunnel.conf ] && rm -f /etc/stunnel/stunnel.conf
vim /etc/stunnel/stunnel.conf
写入如下内容:
client = yes
[ssl2http]
accept = 102.11.23.111:8080
connect = 173.12.33.12:443
保存配置文件,其中102.11.23.111为B机器公网ip, 173.12.33.12为A机器公网ip
启动 stunnel
/usr/sbin/stunnel
使用curl命令检测是否配置成功
curl -x102.11.23.111:8080 http://www.youtube.com/ -I
看返回是不是200
善后处理:
在A机器上加一个防火墙规则
iptables -A INPUT -p tcp --dport 443 -j DROP; iptables -I INPUT -p tcp -s 102.11.23.111 --dport 443 -j ACCEPT
需要两台机器配合使用
A 机器上(美国或香港机器)需要安装squid 并配置squid的ssl加密
B 机器需要安装 stunnel 来解密
1. A 机器安装squid
yum install squid
关键在于squid的配置文件
rm -f /etc/squid/squid.conf
vim /etc/squid/squid.conf
加入
https_port 443 cert=/etc/squid/123.com.crt key=/etc/squid/123.com.key
cache_replacement_policy lru
cache_dir aufs /data/cache1 1024 16 256
cache_mem 128 MB
cache_vary on
dns_nameservers 8.8.8.8
dns_nameservers 4.4.4.4
visible_hostname 123.com
acl all src 0.0.0.0/0.0.0.0
memory_pools on
forwarded_for on
cache_effective_user squid
cache_effective_group squid
ie_refresh on
hierarchy_stoplist cgi-bin ?
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440 50% 2880 ignore-reload
request_header_max_size 50 KB
http_access allow all
然后创建缓存目录
mkdir /data/cache1
chown -R squid:squid /data/cache1
创建对应的 crt key
openssl req -new > 123.com.csr
openssl rsa -in privkey.pem -out 123.com.key
openssl x509 -in 123.com.csr -out 123.com.crt -req -signkey 123.com.key -days 3650
mv 123.com* privkey.pem /etc/squid/
初始化缓存目录
squid -z
启动squid
/etc/init.d/squid start
B机器 安装 stunnel
yum install stunnel
[ -f /etc/stunnel/stunnel.conf ] && rm -f /etc/stunnel/stunnel.conf
vim /etc/stunnel/stunnel.conf
写入如下内容:
client = yes
[ssl2http]
accept = 102.11.23.111:8080
connect = 173.12.33.12:443
保存配置文件,其中102.11.23.111为B机器公网ip, 173.12.33.12为A机器公网ip
启动 stunnel
/usr/sbin/stunnel
使用curl命令检测是否配置成功
curl -x102.11.23.111:8080 http://www.youtube.com/ -I
看返回是不是200
善后处理:
在A机器上加一个防火墙规则
iptables -A INPUT -p tcp --dport 443 -j DROP; iptables -I INPUT -p tcp -s 102.11.23.111 --dport 443 -j ACCEPT
0
创建对应的 crt key
openssl req -new > 123.com.csr
openssl rsa -in privkey.pem -out 123.com.key
openssl x509 -in 123.com.csr -out 123.com.crt -req -signkey 123.com.key -days 3650
mv 123.com* privkey.pem /etc/squid/
请问下,这几步是什么意思?我觉得我的第二步好像是出了错误?
gxp2008 发表于 2016-2-2 22:26
有win版本的stunnel
创建对应的 crt key
openssl req -new > 123.com.csr
openssl rsa -in privkey.pem -out 123.com.key
openssl x509 -in 123.com.csr -out 123.com.crt -req -signkey 123.com.key -days 3650
mv 123.com* privkey.pem /etc/squid/
请问下,这几步是什么意思?我觉得我的第二步好像是出了错误?
0
本帖最后由 gxp2008 于 2016-2-2 22:53 编辑
kevin_tao 发表于 2016-2-2 22:29
创建对应的 crt key
openssl req -new > 123.com默认密钥是2048位,后面说只能4-1024位
编辑回复