Ubuntu下HTTPS配置
Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥、证书的更多知识,更深的背景知识还有RSA算法、DES算法、X509规范、CA机构...等等,随便哪个方向都够学习一阵子的,所幸的是有了OpenSSL、OpenSSH等这些开源免费的软件,把很多底层的算法、规范都集成了,对上层应用而言,只需一二三操作即可,至多到官网去查查一些特殊的命令集。
一、安装Apache
$sudo apt-get install apache2
使用此方式安装的APACHE,配置比较分散,一般如下:
- 默认站点在 /var/www/
- 配置文件在 /etc/apache2/
- 日志在 /var/log/apache/
- 启动脚本是 /usr/bin/apache2ctl 或者 /etc/init.d/apache2
二、安装openssl
Ubuntu默认已经安装了OPENSSL,如果没安装,
$sudo apt-get install openssl
三、开启SSL模块
$sudo a2enmod ssl
这条命令相当于
sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled如果没有a2enmod指令,也可直接在apache2.conf中设置SSL模块加载:
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
四、创建证书
创建证书有两种:一种是自签名证书,另外一种是第三方CA机构签名证书。第一种随便使用,只是没有经过官方认可的机构认证而已,后一种则是正规的签名证书,有发证机构签名。其实很多所谓的大网站上使用的SSL证书,一样都是自签名的,主要是因为这个证书只做为在线验证使用,保证传输数据安全即可,不过使用这种证书,对常规浏览器和一些软件而言,一般均会弹出警告,让你确认这个签名证书的有效性。正规签名证书也不过只是多了一重保障而已,而且浏览器、软件等可以自己鉴别。
1、自签名证书
可使用apache内置的工具创建默认的自签名证书,通过-days参数指定有效期。
$sudo apache2-ssl-certificate
注意:上述命令可能在最新的apache中默认未安装,如果使用的是LAMP套件,一般会有这个模块。
不过我们还可以使用openssl命令(如果openssl是自编译安装的,没有注册该命令的话,可以使用绝对路径,比如类似/usr/local/openssl/openssl这样)创建:
?
Firefox会提示是否添加Exception信息,如下图:

参考文章:
SSL和SSH区别:?SSL维基百科?SSH维基百科
Ubuntu下配置Apache HTTPS:?http://www.mike.org.cn/
CENTOS安装SSL:?http://www.centos.bz/
openssl+apache+mod_ssl安装配置调试过程:http://www.infosecurity.org.cn/
更多文章:
RedHat 5上安装APACHE/MYSQL/PHP/GD库
CentOS安装Apache+PHP+MySQL指南
Ubuntu VPS安装Apache+PHP+MySQL指南
如何为Apache绑定多IP多域名?
