在Ubuntu环境下的Apache上安装SSL证书

之前一直困扰一个问题,那就是申请到了ssl证书那么应该如何应用到网站上?

因为我用的是Apache服务器,并且通过apt-get安装的,似乎跟那个通用版还不太相同?

闲话少叙。

之前有提到过申请免费SSL证书。我用的就是这个证书,不信点上边的小锁子自己看看。。。↑_↑

首先打开申请的证书压缩文件,可以看到对于Apache版本,有这样三个文件:

crt

然后我们将这三个文件上传到服务器上,你可以上传到任何一个文件夹,我上传在:/etc/ssl

然后就是将它加载到Apache中。

第一步:打开Apache的ssl模块

这个只需要一条命令:

# a2enmod ssl 

第二步:配置虚拟服务器

打开配置文件:/etc/apache2/sites-available/default-ssl.conf

<IfModule mod_ssl.c>

<VirtualHost *:443>

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName www.tiferking.cn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on
SSLCertificateFile /etc/ssl/2_tiferking.cn.crt
SSLCertificateKeyFile /etc/ssl/3_tiferking.cn.key
SSLCACertificateFile /etc/ssl/1_root_bundle.crt

<FilesMatch “\.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch “MSIE [2-6]” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch “MSIE [17-9]” ssl-unclean-shutdown

</VirtualHost>

</IfModule>

只需要将上述文字中所有的tiferking.cn改成你自己的域名,然后再在/etc/apache2/sites-enabled目录下建立一个链接就OK了!你可以通过这条命令来完成:

# ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf

当然假如你将证书文件放在其它地方就将SSLEngine on后边那几个文件的路径改好就可以啦~

第三步:跳转http到https

这个功能一般是通过.htaccess实现的,将以下代码复制到网站根目录的.htaccess文件当中,如果没有的话可以新建。

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.tiferking.cn/$1 [R,L]

将上述文字中的tiferking.cn改成你自己的域名,然后保存。

再打开 /etc/apache2/apache2.conf

找到里边的

Options FollowSymLinks
AllowOverride None

改为

Options FollowSymLinks
AllowOverride All

保存。

再运行以下代码打开rewrite模块:

# ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

第四步:重启Apache

输入命令重启Apache:

# apache2ctl -k restart

至此,所有的工作就完成啦,测试以下你的网站有没有绿色小锁了吧~


Posted

in

by

Tags: