学习采用Mod_SSL技术让 Apache更加安全
业界加密TCP/IP网络产品的标准是SSL,对于Internet上普遍使用的超文本传输协议(HTTP)而言,其加密后的协议称为HTTPS,缺省采用443端口。
HTTPS数据是加密以后传输的,因此能有效保护在网络上传输的个人隐私信息。
第一步:下载所需的软件并解开到/usr/local/src目录
Apache1.3.24Mod_ssl2.8.8-1.3.24Openssl-0.9.6c
每个mod_ssl的版本和特定的Apache版本有关,因此要下载相对应的mod_ssl版本。
第二步:编译和安装
安装OpenSSL到/usr/local/ssl:#pwd
/usr/local/src/openssl-0.9.6c#./config#make#maketest#makeinstall
安装mod_ssl,编译进Apache的源码树:#pwd
/usr/local/src/mod_ssl-2.8.8-1.3.24#./configure--with-apache=/usr/local/src/apache_1.3.24\--with-ssl=/usr/local/ssl
以DSO方式编译Apache:#pwd
/usr/local/src/apache_1.3.24#./configure--prefix=/usr/local/apache--enable-rule=SHARED_CORE\--enable-module=ssl--enable-shared=ssl#make
创建SSL证书
在生产环境中,证书需要从商业的认证权威机构或者从内部的CA得到。
执行下面的步骤生成假证书:#pwd
/usr/local/src/apache_1.3.24#makecertificateTYPE=custom
生成证书时会提示两遍下面的信息:<>内为示范数据。
第一遍:CountryName(2-letters)
StateorProvinceNameLocalityNameOrganizationNameOrganizationalUnitNameCommonNameEmailAddressCertificateValidity<365>
第一遍会产生一个假的,用于测试的CA。"CommonName"可以为任意文本。
第二遍CountryName(2-letters)
StateorProvinceNameLocalityNameOrganizationNameOrganizationalUnitNameCommonNameEmailAddressCertificateValidity<365>
第二遍产生的是实际可用的证书,能被商业机构或者内部CA认证,"CommonName"为Web服务器的主机名。
安装并运行Apache#pwd
/usr/local/src/apache_1.3.24#makeinstall
启动Apache,并测试#pwd
/usr/local/apache/bin#./apachectlstop#./apachectlstartssl
在浏览器上检查http://yourdomain.com和https://yourdomain.com