wordpress 全站开启https

 : jank    :   : 2642    : 2016-12-02 01:32  linux

今天手贱不小心把wordpress后台的地址改成了https,结果网站后台登不了。。。折腾半天还是没找到好方法,于是只能把网站改成https了。也算是“塞翁失马,因祸得福”吧,呵呵

1.下载https证书:

    目前阿里云有免费的https证书可用https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.vCWpjZ&commodityCode=cas#/buy

    免费购买,签发成功后,把证书上传至服务器,

2.登陆后台修改:

3.修改nginx.conf文件配置:

    server {

      #监听80端口当访问www.jankl.com 则跳转到http://www.jankl.com

        listen       80;

        server_name  www.jankl.com;   

        rewrite ^(.*)$ http://www.jankl.com$1 permanent;

    }


    server {

        listen       443;

        server_name  www.jankl.com;

        #charset koi8-r;

       #https安全证书

         ssl on;

         root html;

         index index.html index.htm;

         ssl_certificate  /https/https.pem;

         ssl_certificate_key /https/https.key;

         ssl_session_timeout 5m;

         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

         ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

         ssl_prefer_server_ciphers on;

    注:平滑重启nginx时如果报ssl on 错误时则说明当前nginx缺少--with-http_ssl_module模块,须重新编译添加-with-http_ssl_module  具体如何编译添加请看http://www.linuxidc.com/Linux/2013-06/86438.htm

4.开启登录和后台的强制 SSL

    虽然有了整站的重定向,但我们不妨还是将 WordPress 本身自带的功能打开

 找到网站根目录,修改文件 config.php,直接在这个文件的末尾另起一行,追加两行代码:

1

2

3

/* 强制后台和登录使用 SSL */

define('FORCE_SSL_LOGIN', true);

define('FORCE_SSL_ADMIN', true);

5.站内链接支持

   找到当前主题下的 function.php 文件,编辑之,在里边代码的末尾追加如下代码:

    /* 替换图片链接为 https */

    function my_content_manipulator($content){

        if( is_ssl() ){

            $content = str_replace('http://www.jankl.com/wp-content/uploads',            'https://go.jankl.com/wp-content/uploads', $content);

        }

        return $content;

    }

    add_filter('the_content', 'my_content_manipulator');

    注:除了这些还有别的链接也要记得替换,比如引入的jq等等

    当然也可以直接使用mysql替换文本的内容:

            UPDATE wp_posts SET post_content = replace( post_content, 'http://www.jankl.com','http://www.jankl.com');

            UPDATE wp_comments SET comment_content = replace(comment_content, 'http://www.jankl.com','http://www.jankl.com');

            UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'http://www.jankl.com','http://www.jankl.com');

6.部分插件不支持https也需要更改

    如使百度分享支持https:

        1.从github clone static包:git clone https://github.com/hrwhisper/baiduShare

        2.修改js分享代码:

将原来的链接改成如图画线部分即可。

这样整个https启动就完成了。

   

   

备案编号:赣ICP备15011386号

联系方式:qq:1150662577    邮箱:1150662577@qq.com