Squid編譯過程中關於SSLv2出错的問題

最近需要在Ubuntu 12.04 LST上編譯安裝Squid 2.7,編譯參數中需要使用“–enable-ssl”來打開https_port功能,原本在debian上很順利的過程卻在Ubuntu上一直提示沒有sslv2的庫。

原來debian 6.0中使用的openssl是0.98,而ubuntu 12.04使用的是1.01,在1.01版本的openssl中已經直接禁用了有安全隱患的sslv2,使得squid無法完成編譯。想修改squid的源代碼來禁用sslv2,卻一直沒有成功,無奈,只能曲線救國,直接安裝debain下0.98版的openssl庫。

先刪除ubuntu安裝的1.01版本:

aptitude purge libssl libssl-dev libssl-doc

然後下載debian的deb包:

wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl-dev_0.9.8o-4squeeze14_i386.deb
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze14_i386.deb

接著dpkg安裝即可:

dpkg -i libssl0.9.8_0.9.8o-4squeeze13_i386.deb
dpkg -i libssl-dev_0.9.8o-4squeeze13_i386.deb

因為依賴關係,先安裝libssl再安裝libssl-dev

然後編譯就一切順利啦!

當然,別忘了在squid的配置文件中禁用sslv2,畢竟有安全隱患:

options=NO_SSLv2

更新1:

最近更新了Debian 7 64位的系統,amd64位的兩個包的地址有所變更,如下:

wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl-dev_0.9.8o-4squeeze14_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze14_amd64.deb