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了,应该不会出现这种问题呀?

posted @ 2022-10-19 20:14  Franky0705  阅读(474)  评论(0编辑  收藏  举报