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端口

05-18 16:38