阿里云申请免费SSL证书并下载(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三个文件)
用https是自己的网站收到保护,不易被攻克,所以保护自己的网站,有必要配置https协议
第一步:
检查是否配置opensslsudo a2enmod ssl如果是:Considering dependency setenvif for ssl:Module setenvif already enabledConsidering dependency mime for ssl:Module mime already enabledConsidering dependency socache_shmcb for ssl:Module socache_shmcb already enabledModule 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.loadsudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
第二步:
查看/etc/apache2/ports.conf是否有端口号Listen 80Listen 443在etc/apache2的目录下创建一个cert目录里面放入之前下载好的ssl证书,把crt后缀改成pem后缀,a.key|a_chain.pem|a_public.pem
第三步:
在etc/apache2/sites-enabled/default-ssl.conf 文件里改配置写入以下内容在对应的位置:ServerAdmin webmaster@localhostDocumentRoot /var/www/html/wedding/public #网站入口目录# Enable/Disable SSL for this virtual host.SSLEngine on# SSLCertificateFile directive is needed.SSLCertificateFile /etc/apache2/cert/a_public.pemSSLCertificateKeyFile /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: OffSSLHonorCipherOrder on# SSL v2 is no longer supportedSSLProtocol all -SSLv2 -SSLv3
第五步:
整理完上面几步后重启apachesudo /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