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了,应该不会出现这种问题呀?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!