阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)
阿里云申请免费SSL证书并下载(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三个文件)
用https是自己的网站收到保护,不易被攻克,所以保护自己的网站,有必要配置https协议
第一步:
检查是否配置openssl sudo a2enmod ssl 如果是: Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Module socache_shmcb already enabled Module ssl already enabled 这样的话,就无需再配置了。 如果不是进行以下操作 sudo apt-get install openssl 安装 sudo a2enmod ssl 开启ssl 无效的话输入 sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
第二步:
查看/etc/apache2/ports.conf是否有端口号 Listen 80 Listen 443 在etc/apache2的目录下创建一个cert目录 里面放入之前下载好的ssl证书,把crt后缀改成pem后缀,a.key|a_chain.pem|a_public.pem
第三步:
在etc/apache2/sites-enabled/default-ssl.conf 文件里改配置 写入以下内容在对应的位置: ServerAdmin webmaster@localhost DocumentRoot /var/www/html/wedding/public #网站入口目录 # Enable/Disable SSL for this virtual host. SSLEngine on # SSLCertificateFile directive is needed. SSLCertificateFile /etc/apache2/cert/a_public.pem SSLCertificateKeyFile /etc/apache2/cert/a.key # certificate for convinience.
第四步:
在/etc/apache2/mods-enabled/ssl.conf修改以下内容在对应的位置 # Enable only secure ciphers: SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
# Default: Off SSLHonorCipherOrder on # SSL v2 is no longer supported SSLProtocol all -SSLv2 -SSLv3
第五步:
整理完上面几步后重启apache sudo /etc/init.d/apache2 restart
第六步:
测试:https://www.wplhc.com
第七步:
如果想把http强制转换成https进行以下操作 1.启动重定向 sudo a2enmod rewrite 2.在/etc/apache2/sites-enabled/000-default.conf文件下写入以下内容(必须写在<VirtualHost *:80></VirtualHost>这个范围里) RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R=301] 重启apache: sudo /etc/init.d/apache2 restart 一切ok