这几天申请了免费的SSL证书,经过几个小时的努力,本站成功转移到https。
本站运行在apache2(Ubuntu)上,首先要修改服务器配置使其支持ssl。在网上搜索到的大部分教程都不能解决这个问题,因为博主根本找不到他们说的配置文件,也许这是个假的服务器。执行以下命令,加载相应的模块。这些模块在安装的时候已经在了,现在只需要做一个软链接,告诉服务器在启动的时候加载即可。
cd /etc/apache2/mods-enabled
ln -s ../mods-available/ssl.conf ssl.conf
ln -s ../mods-available/ssl.load ssl.load
ln -s ../mods-available/socache_shmcb.load socache_shmcb.load
然后修改网站的配置文件,在VirtualHost里配置证书的路径,配置文件在/etc/apache2/sites-enabled/,这里的文件其实也是/etc/apache2/sites-available/里文件的软链接,真实的文件应当放到后者里。
<VirtualHost *:443>
# 其它配置
# ...
# SSL配置
SSLEngine on
SSLCertificateFile /path/to/your/crt/file
SSLCertificateKeyFile /path/to/your/key/file
SSLCertificateChainFile /path/to/your/chain/file
</VirtualHost>
然后将http访问定向到https,防止以前的链接失效。
<VirtualHost *:80>
# 其它配置
DocumentRoot /path/to/tmp # 找一个空文件夹
<Directory /path/to/tmp>
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L]
</Directory>
</VirtualHost>
最后,重启apache生效。
本文由kedixa发表于个人博客,
转载请注明作者及出处。
本文链接:https://blog.kedixa.top/2017/blog-from-http-to-https/