今天将教会大家如何apache配置https证书,并且实现http和https的全站301跳转,当然了,小编使用的是腾讯云免费https证书,这样我们的网站改成https之后,由于apache服务器的全站301跳转,百度权重的传递,就不会造成权重的下降了。
为什么小编要将自己的http网站改造成https呢?这是因为https采用的是加密的SSL传输协议,所以会比http这种明文协议更加安全可靠,正是因为这种安全的机制,才让百度,谷歌等大型搜索引擎更加的喜欢,如果同样的文章,你使用https会比http更容易获得排名一点。
至于http与https的区别,小编今天就不过多介绍,因为网络中对这两个协议的解释已经够多了,小编今天的重点是要在apache服务器中配置https,以腾讯云免费SSL来做案例,下面来开始学习吧!很简单的!
步骤一:在腾讯云服务器管理后台的SSL证书管理页面,会有“申请证书”的菜单,点击申请即可,小编申请的是TrustAsia(亚洲诚信)的免费SSL,因为收费的都太贵,对于个人网站就太过于奢华有内涵了。
申请腾讯云免费SSL就是下一步,接着下一步即可,在这个过程中需要输入填入证书名称,申请邮箱,私钥密码等一些信息,申请完成之后你就可以将你的免费SSL证书下载到自己的电脑中,里面有三个证书文件,如图所示:
下载的文件里面有三个证书文件,然后将ssl证书文件上传到自己服务器的“/etc/pki/tls/certs/”文件夹下面,开始在apache中配置https证书。
步骤二:配置https证书
有时候我们的apache服务器可能不支持ssl的配置,这个时候我们就需要使用“yum install mod_ssl”命令来安装一下mod_ssl模块,这样就可以了,然后配置“/etc/httpd/conf.d/ssl.conf”这个文件(每个人的ssl.conf文件可能位置不一样),指定所上传证书的位置即可。
如下是关键5行代码,这几项是必须要正确的,其它的小编省略了:
<VirtualHost _default_:443> # DocumentRoot目录位置要和httpd.conf里面的一致 DocumentRoot "/var/www/html/tpyyes/" # 域名,SSL使用的是443端口 ServerName www.tpyyes.com:443 # 证书位置与上传的位置要一致 SSLCertificateFile /etc/pki/tls/certs/2_www.tpyyes.com.crt SSLCertificateKeyFile /etc/pki/tls/private/3_www.tpyyes.com.key SSLCertificateChainFile /etc/pki/tls/certs/1_root_bundle.crt </VirtualHost>
配置好之后,可以重启一下我们的apache服务器,在centos 7系统中,使用如下命令:
systemctl httpd restart
步骤三:在apache服务器中实现http和https的全站301跳转
刚刚配置好SSL证书之后,我们的网站是同时支持http与https的,如果我们只想用户访问的是https,并且排名不会掉,就需要先在百度站长HTTPS认证一下,让百度知道我们网址已经改成https了,这样就不会掉排名与权重了,而认证之前我们就需要实现http与https之间的301全站跳转了。
其实很简单,只需要在我们apache服务器的httpd.conf文件中的“VirtualHost”部分添加一个301跳转代码即可(一定不要加错位置了,注意看,就三行代码),代码如下:
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/tpyyes ServerName www.tpyyes.com <Directory /var/www/html/tpyyes> DirectoryIndex index.html index.php Order allow,deny # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted # 新添加的三行代码,支持全站301跳转 RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L] </Directory>
配置好https证书之后,重启Apache服务器之后,我们访问http页面的时候,就会自动跳转到https页面了,并且浏览器地址变成了安全的绿色,如图所示:
完毕!