Apache2配置ssl证书
Apache2配置ssl证书
今天上公选课,实在听不进去,就想着把SSL证书配了。最早参考腾讯云的SSL证书安装,结果他给的目录我压根就找不到。于是到Google上搜索,找到了这篇博客,讲的挺好的。我大概把他用中文翻译一下吧。
先开启SSL服务 sudo a2enmod ssl
应该会显示 Module ssl already enabled 或者 Enabling module ssl 。然后重启apache sudo service apache2 restart
再用apachectl -S
查看当前使用的配置文件
在没有安装好证书之前,应该是没有*:443那一行的。
在我的服务器上,使用的配置文件是/etc/apache2/sites-enabled/000-default.conf。
于是打开这个配置文件,在最后写入(把括号连带括号里的内容替换成自己的配置)
<VirtualHost *:443>
ServerName (DOMAIN NAME OF THE WEBSITE)
DocumentRoot (ROOT FOLDER OF THE WEBSITE)
SSLEngine on
SSLCertificateFile (Certificate PATH)
SSLCertificateKeyFile (Private key PATH)
SSLCertificateChainFile (CA Bundle PATH)
</VirtualHost>
对于我的配置来说,是这样的:
<VirtualHost *:443>
ServerName franky.pro
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/franky.pro.crt
SSLCertificateKeyFile /etc/httpd/ssl/franky.pro.key
SSLCertificateChainFile /etc/httpd/ssl/root_bundle.crt
</VirtualHost>
至于那个 SSLCertificateChainFile ,网上说好像不用管,不会用到……
保存以后,再次运行 apachectl -S
,应该就能看到最上面那张图所显示的*:443了。
然后使用 apachectl -t
检查你的配置文件有没有语法错误。如果没有语法错误,就可以重启apache sudo service apache2 restart
。
这时候,你的网站就可以使用https进行访问了。
此外,如果你想把http的访问重定向到https,只需要把配置文件里的 <VirtualHost *:80>
里加上一行 Redirect permanent https://xxx.xx
就行了
之后,再次重启即可。
这里写一下我遇到的一个小问题:在安装SSL证书以后,网站的css没法正常加载,原因是在emlog的设置里,没有把站点地址改成https,仍然用的是http。但是我已经把http重定向到https了,应该不会出现这种问题呀?