博客都启用了HTTPS了,在配置中也遇到过大大小小的问题,结合自己的实践,下面把博主自己配置HTTPS中遇到的问题以及如何配置分享分享。
由于博主很懒,所以一般配置环境都是用的一键安装包,方便快捷(真适合我啊)。一开始用的是阿里云的一键web环境安装包,效果不理想,怎么安装数据库都会爆炸,换服务器也爆炸,所以我个人觉得那个一键包有点渣。于是呢,我就上网搜啊搜,看到了老左博客有一个LAMP一键安装包,于是便买了一台服务器用作测试环境,用了十几天,没出现过问题。唯一的问题就是配置HTTPS的时候出了点问题。不过经过无数次的百度跟谷歌,还是把问题都解决了,现在配置起来行云流水。
1、确保SSL模块部署
yum install openssl
yum install mod_ssl
不管是否与我们环境是否部署,我们还是自己重新部署一遍。
2、检查和启动SSL模块
在以上提到安装的LAMP环境,是在/usr/local/apache/conf/目录中的httpd.conf,博主这里用Atom编辑器打开。
检查LoadModule ssl_module modules/mod_ssl.so一行,然后如果看到前面有#,直接把#去掉启动,如果已经去掉就不管。
3、编辑部署SSL
这里打开/usr/local/apache/conf/extra目录中的httpd-ssl.conf,编辑<VirtualHost _default_:443>位置下面的几行
DocumentRoot "/data/www/www.mikublog.com/" #这里填的是你网站目录
ServerName www.mikublog.com:443 #这里填你的域名
SSLEngine on #前面如果有#,那就把#号去掉
SSLCertificateFile "/usr/local/apache/conf/www.mikublog.com.crt" #你crt证书的路径
SSLCertificateKeyFile "/usr/local/apache/conf/www.mikublog.com.key" #你的私钥证书
这里需要注意的就是需要上传的3个文件路径,我们上传到哪里,然后就URL就用到。
4、重启apache
service httpd restart
5、查看linux当前打开的端口
netstat -tln
我们可以看到 服务器的443端口并没有打开,为什么呢,因为没有引用我们所修改的http_ssl.conf文件。
6、引用http_ssl.conf
打开/usr/local/apache/conf目录中的http.conf,找到Include conf/extra/httpd-ssl.conf这一行(一般在第500行),把这行前面的#去掉即可。
我们再重启apache
service httpd restart
查看打开的端口
netstat -tln
现在已经打开了443端口并监听了。我们用https打开网站看看。
提示403 Forbidden,You don’t have permission to access / on thie server.
这里我一开始以为是文件权限问题,于是把文件夹设置成777权限,依旧如此。
既然不是文件权限那就可能是配置的权限了,于是便去研究http.conf,果不其然,配置出了问题。
7、解决配置https后遇到的403 Forbidden
这里打开/usr/local/apache/conf目录中的http.conf,用编辑器Ctrl+F搜索<Directory />找到以下代码:
<Directory />
AllowOverride none
Require all denied
</Directory>
修改成
<Directory />
AllowOverride All
Allow from all
</Directory>
重启apache
service httpd restart
再打开配置的https站点,就能正常访问了!!!(好激动啊
8、SSL证书部署总结
无论我们是使用付费的还是使用免费SSL证书,其实大概的过程都是差不多的,只要把获取到的证书文件部署到对应环境的对应路径衔接就可以,当然还包括一些细节问题信息量比较乱,这就需要我们善用百度跟谷歌了。毕竟凡事靠自己。
留个脚印
博主有钱人啊用的起亚洲诚信的SSL
lnmp啊啊啊啊啊啊啊
哈哈哈哈哈哈
很好