使用Squid搭建醫(yī)聯(lián)服務(wù)器在辦公網(wǎng)段中的代理服務(wù)和反向代理服務(wù)
使用Squid搭建醫(yī)聯(lián)服務(wù)器在辦公網(wǎng)段中的代理服務(wù)和反向代理服務(wù)
隨著醫(yī)聯(lián)項(xiàng)目的深入進(jìn)行,越來越多的應(yīng)用需要使用到醫(yī)聯(lián)網(wǎng)絡(luò)和服務(wù)。但是原來是只將醫(yī)聯(lián)和內(nèi)部業(yè)務(wù)網(wǎng)絡(luò)連接,而現(xiàn)在辦公網(wǎng)絡(luò)也急需醫(yī)聯(lián)應(yīng)用。為了解決此問題,同時也考慮到安全和使用方便的問題,參照申康的建議,提出了使用代理服務(wù)的解決方案。
兩塊網(wǎng)卡,一塊連接業(yè)務(wù)網(wǎng)絡(luò),能訪問醫(yī)聯(lián)服務(wù)器,IP:190.1.57.13。另一塊,連接辦公網(wǎng),因?yàn)橐韮膳_醫(yī)聯(lián)服務(wù)器,為了能做到反向代理,綁定了兩個IP:10.10.70.33;10.10.70.34。同時設(shè)置了必要的路由,具體配置文件如下:
[zarra@localhost sysconfig]$ cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=190.1.57.240
[zarra@localhost network-scripts]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:50:56:A1:2A:5A
ONBOOT=yes
IPADDR=190.1.57.13
NETMASK=255.255.255.0
TYPE=Enternet
GATEWAY=190.1.57.240
[zarra@localhost network-scripts]$ cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
HWADDR=00:50:56:A1:74:EB
ONBOOT=yes
IPADDR=10.10.70.33
NETMASK=255.255.255.0
TYPE=Ethernet
#GATEWAY=10.10.70.240
[zarra@localhost network-scripts]$ cat /etc/sysconfig/network-scripts/ifcfg-eth1:0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE="eth1:0"
BOOTPROTO=static
HWADDR=00:50:56:A1:74:EB
ONBOOT=yes
IPADDR=10.10.70.34
NETMASK=255.255.255.0
TYPE=Ethernet
#GATEWAY=10.10.70.240
[zarra@localhost network-scripts]$ cat /etc/sysconfig/network-scripts/route-eth1
10.10.71.0/24 via 10.10.70.240 dev eth1
10.10.74.0/24 via 10.10.70.240 dev eth1
203.95.1.1/32 via 10.10.70.240 dev eth1
202.96.199.133/32 via 10.10.70.240 dev eth1
208.67.222.222/32 via 10.10.70.240 dev eth1
208.67.220.220/32 via 10.10.70.240 dev eth1
Squid是*nix系統(tǒng)下強(qiáng)大的http緩存工具,一般用來提供代理和反向代理。本應(yīng)用的配置文件如下:
[zarra@localhost ~]$ sudo cat /etc/squid/squid.conf
#反向代理端口80,代理端口3128
http_port 80 vhost
visible_hostname 10.10.70.33
http_port 3128
cache_peer 10.141.222.10 parent 7001 0 no-query originserver weight=1 name=a
cache_peer 10.141.222.19 parent 7001 0 no-query originserver weight=1 name=b
#將對10.10.70.33的請求 accel到下一個cache_peer “a”
#即可理解為將對10.10.70.33的url請求重定向到10.141.222.10
#通過以下兩行設(shè)置達(dá)到,訪問10.10.70.33或10.10.70.34,如同訪問10.141.222.10或10.141.222.19的效果
cache_peer_domain a 10.10.70.33
cache_peer_domain b 10.10.70.34
#設(shè)置cache 256MB空間,一級目錄16個,二級目錄256個
cache_dir ufs /var/spool/squid 256 16 256
#定義網(wǎng)絡(luò)環(huán)境
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl manager proto cache_object
acl to_localhost dst 127.0.0.0/8
acl out_networks src 10.10.71.0/24 10.10.74.0/24
acl out_dest dst 10.141.222.0/24 10.10.70.0/24
#允許的端口
acl Safe_ports port 80
acl Safe_ports port 7001
#允許本地管理
http_access allow manager localhost
http_access deny manager
#不允許為定義的端口
http_access deny !Safe_ports
#為了防止被用做通用Proxy,只允許代理醫(yī)聯(lián)網(wǎng)段
http_access deny !out_dest
#允許使用代理的策略
http_access allow localhost
http_access allow out_networks
http_access deny all
#允許使用反向代理的策略
cache_peer_access a allow out_networks
cache_peer_access b allow out_networks
posted on 2009-08-14 12:15
zarra 閱讀(228)
評論(1) 編輯 收藏