Ricky Hao

简易HTTPS建站教程

首先,你需要有个能在Http下跑的网站。
这个教程是关于Apache2的,而其他的服务器也许有类似的设置。
环境:

Ubuntu 14.04,Apache 2,PHP 7.1

0x00

获取免费SSL证书。
现在沃通提供免费两年的SSL证书服务。
所以我们需要注册一个账号。注册链接
接着,登陆之后可以到这里申请免费SSL证书。申请链接
最后将申请的证书保存到本地。

0x01

现在我们来配置Apache2的环境。
首先

sudo a2enmod ssl

这样就能自动安装好Apache2所需的SSL插件。
接着

sudo a2ensite default-ssl

建立一个默认的SSL站点,会在

/etc/apache2/sites-enabled/

下生成一个配置文件。

0x02

/etc/apache2/文件夹内创建两个文件夹

cd /etc/apache2
sudo mkdir ssl.key
sudo mkdir ssl.crt

然后将证书中的*.crt 文件都上传到ssl.crt文件夹,*.key则上传到ssl.key文件夹。
接下来我们开始配置default-ssl.conf文件

sudo vim /etc/apache2/sites-enabled/default-ssl.conf

在其中,将下列属性更改

SSLCertificateFile     /etc/apache2/ssl.crt/2_***.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/3_***.key
SSLCertificateChainFile /etc/apache2/ssl.crt/1_***.crt

修改成功后,重启Apache2服务

sudo service apache2 restart

最后尝试访问https://YourDomain即可

0x03

将80端口转发到443端口,强制走Https流量。
我们先要在/etc/www/html即网站根目录新建一文件.htaccess,内容如下


RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://YourDomain/ [L]

创建完毕之后,更改/etc/apache2/apache2.conf中对应的`中的AllowOverride`选项

AllowOverride All

这样就大功告成了。可以测试一下访问Http的时候是否会自动跳转到Https。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据