W3Schools Learner's Blog

W3Schools Programming knowledge summary website

div

7/03/2019

Apache配置https证书并实现http和https的全站301跳转_免费https

今天将教会大家如何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 [email protected]
    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页面了,并且浏览器地址变成了安全的绿色,如图所示:

完毕!

No comments:

Post a Comment

Note: only a member of this blog may post a comment.