🗼😀本站将逐步迁移至新站点,点击访问 -->

WordPress 整站开启HTTPS

8,574次阅读
2条评论

效果展示

WordPress

申请SSL证书

首先自然是为自己的域名申请SSL证书,可在阿里云申请免费的Symantec证书

WordPress

待审核完毕后,根据web软件来下载响应的证书,并上传至服务器,移动至Apache目录的cert目录(如果不存在请自行创建)

WordPress

WordPress

Apache配置

1、查看mod_ssl模块是否安装,如未安装,则yum install mod_ssl -y进行安装,并进行模块引用

WordPress

vim /etc/httpd/conf.modules.d/00-ssl.conf(Apache 2.4 yum安装方式路径为此,请根据具体情况引用该模块)

LoadModule ssl_module modules/mod_ssl.so

 

2、将以下代码添加至主题的functions.php中

//WordPress SSL
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
        if( is_ssl() ){
                function fanly_ssl_main ($content){
                        $siteurl = get_option('siteurl');
                        $upload_dir = wp_upload_dir();
                        $content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);
                        $content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
                        return $content;
                }
                ob_start("fanly_ssl_main");
        }
}

3、配置Apache虚拟主机文件

配置虚拟主机文件

vim cloudcared.cn.conf,引入SSL证书

Listen 443
<VirtualHost *:443>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/wordpress
    ServerName www.cloudcared.cn
    ServerAlias  cloudcared.cn
    <Directory "/var/www/html/wordpress">
        Options FollowSymLinks
        Order allow,deny
        Allow from all
        AllowOverride all
    </Directory>
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile cert/public.pem
    SSLCertificateKeyFile cert/214222623180660.key
    SSLCertificateChainFile cert/chain.pem
    ErrorLog logs/cloudcared.cn/cloudcared.cn-error_log
    CustomLog logs/cloudcared.cn/cloudcared.cn-access_log common
        <ifModule mod_limitipconn.c>
        <location />
        MaxConnPerIP 40
        </location>
        </ifModule>
</VirtualHost>

重定向

要实现访问www.domain.com或domain.com,自动跳转至https://www.domain.com,还需做重定向

复制网站配置文件cloudcared.cn.conf

cp cloudcared.cn.conf cloudcared.conf

vim cloudcared.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/wordpress
    ServerName www.cloudcared.cn
    ServerAlias  cloudcared.cn
    <Directory "/var/www/html/wordpress">
        Options FollowSymLinks
        Order allow,deny
        Allow from all
        AllowOverride all
    </Directory>
    ErrorLog logs/cloudcared.cn/cloudcared.cn-error_log
    CustomLog logs/cloudcared.cn/cloudcared.cn-access_log common
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{SERVER_PORT} 80
        RewriteRule ^(.*)$ https://www.cloudcared.cn$1 [R=301,L]
    </IfModule>
        <ifModule mod_limitipconn.c>
        <location />
        MaxConnPerIP 40
        </location>
        </ifModule>
</VirtualHost>

删除SSL配置,加入重定向配置,重启Apache测试即可

至此,访问cloudcared.cn或www.cloudcared.cn,会匹配到cloudcared.conf网站配置文件,由该文件进行重定向至https://www.cloudcared.cn,其他80端口域名不受影响,整站HTTPS配置完成。

Honest1y
版权声明:本站原创文章,由Honest1y于2017年08月21日发表,共计4176字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(2条评论)
下雨天 评论达人LV.1
2017-08-22 11:50:27 回复

回头试试

腾讯视频 评论达人LV.2
2018-06-11 11:12:10 回复

Good article 为什么非有中文