http是无状态,不安全的连接。而https是通过ssl加密的http连接,可靠性更强。
确保openssl安装完成,用openssl来产生和签署证书,可以自己签署,但是不安全,建议用证书机构颁发的证书
步骤1:生成密钥
命令:openssl genrsa 1024 -out server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求文件
命令:openssl req -new -key server.key -out server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
步骤3: 生成证书
命令:openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天
在cd /etc/apache2/site-availables/
sudo vim default-ssl.conf编辑该文件(如果是django则编辑djang.conf文件,其他的和80端口的配置一样)
在443端口下即<VirtualHost *:443>里面添加
SSLEngine on
SSLCertificateFile /xxx/server.crt
SSLCertificateKeyFile /xxx/server.key
最后sudo a2enmod ssl启用ssl模块
sudo /etc/init.d/apache2 restart重启下即可,如果有防火墙的记得开启防火墙的443端口