Ubuntu16.04_x64下Apache2.0 配置https SSL证书

    一、系统环境
    操作系统:Ubuntu16.04_x64
    Apache:Apache/2.4.18 (Ubuntu)
    前置条件:假设已经有证书文件server.crt和私匙server.key。
    二、操作步骤
        1.上传证书文件和私钥到服务器
        假设分别把这两个文件存放到如下目录:
    /etc/ssl/certs/server.crt
    /etc/ssl/private/server.key
        2.开启SSL模块
    sudo a2enmod ssl
        3.启用SSL站点
    sudo a2ensite default-ssl
        4.配置SSL证书
        打开配置文件:/etc/apache2/sites-available/default-ssl.conf,除了配置里面的一些基础信息外,再额外配置ssl证书路径
    SSLCertificateFile  /etc/ssl/certs/server.crt
    SSLCACertificateFile  /etc/ssl/certs/server.crt
    SSLCertificateKeyFile  /etc/ssl/private/server.key
    
        5.重启apache
    sudo service apache2 restart
    重启后即可访问站点的https链接了。此时http地址可以访问,没有自动跳转到https地址
        6.额外配置:配置 HTTPS 强制跳转
    打开配置文件/etc/apache2/sites-available/000-default.conf,
    在<VirtualHost *:80></VirtualHost>标签内随便一个地方加入以下三行:
    RewriteEngine on
    RewriteCond&nbsp;&nbsp;%{HTTPS} !=on
    RewriteRule&nbsp;&nbsp;^(.*) https://%{SERVER_NAME}$1 [L,R]
    如果没有开启apache的rewrite模块,还需要启用rewrite模块:
    sudo a2enmod rewrite
    最后重启apache,访问站点就可以自动跳转到https了
    三、其他问题
    附免费申请SSL证书地址(证书需三个月更新一次)
    https://www.sslforfree.com/

Ubuntu16.04_x64下Apache2.0 签发SSL证书

一、系统环境
操作系统:Ubuntu16.04_x64
Apache:Apache/2.4.18 (Ubuntu)
二、操作步骤
    1. 安装openssl
sudo apt-get install openssl
    2. 创建CA签名(不使用密码去除-des3选项)
sudo openssl genrsa -des3 -out server.key 1024
需要设置密码和确认密码
    3. 创建CSR(Certificate Signing Request)
sudo openssl req -new -key server.key -out server.csr
需要设置证书相关信息
       Country Name (2 letter code) [AU]:CN ←输入国家代码
  State or Province Name (full name) [Some-State]:BJ← 输入省名
  Locality Name (eg, city) []:BJ ←输入城市名
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:JH ← 输入公司名
  Organizational Unit Name (eg, section) []:CRT ← 输入组织单位名
  Common Name (eg, YOUR name) []:zyccx ← 输入主机名(想要开启https的主机名)
  Email Address []:yc****@gamil.com ←输入电子邮箱地址
    4. 自己签发证书
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
需要上步骤3中密码
    5.将证书和秘钥拷贝到相应目录中
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private