wordpress配置HTTPS和遇到问题的解决方案

avatar 2017年02月05日15:10:52 46 22272 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此

博主使用的是腾讯云服务器,所以索性就在腾讯云买了0元一年的DV SSL。

购买和配置HTTPS

1、飞机票(https://console.qcloud.com/ssl),然后点击申请证书

2、点击确定,博主这里选择的是免费,使用权1年的。

3、填写基本信息 域名备注名:随便填,自己知道就好 私钥密码:认真填写,防止以后要用到

4、验证域名所有权 博主这里选的是文件验证,相对麻烦点,新建文件夹和文件,将给的内容粘贴到文件中。 这里补充一下,如何新建.well-known文件夹,就是文件夹里名称第一个字符是点,如果你直接鼠标右键新建文件,或弹窗报错显示“必须键入文件名”。于是,我们可以选择在命令行下新建文件,


  1. mid .well-konwn

5、下载网站文件 点击下载到桌面,然后解压,里面应该有几个文件夹,即不同webserver对应的证书

博主用的Nginx,于是打开Nginx文件,可以看到如下两个文件,分别用记事本打开

6、上传代码 证书已经生成了,我们把里面的字符粘贴到指定位置,如果你有面板的话,操作方便一点,当然,不用面板的,也可以手动添加,这里不介绍了。速战速决,博主装的是宝塔的面板,后台直接可以添加

7、修改URL 然后在后台把两处url的协议改成https

如果进不了后台,可以在数据库里改,具体位置是wp_options表中

至此,我们已经配置成功了,如果你的网站是小黄锁,甚至无法打开,可以参考下面啦。如果还是不能解决,可以联系博主哦

问题解决

1、见得最多的就是 重定向循环,首页都无法打开,或者是后台进不去 这时,先检查一下两处url的协议是不是https的,然后再开启http到https的301跳转 这里贴一下APache的301跳转代码


  1. 将 http 访问强制重定向至 https,代码如下:
  2. RewriteEngine on
  3. RewriteBase /
  4. RewriteCond %{SERVER_PORT} !^443$
  5. RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
  6.  
  7.  
  8. 将 https 访问强制重定向至 http,代码如下:
  9. RewriteEngine on
  10. RewriteBase /
  11. RewriteCond %{SERVER_PORT} !^80$
  12. RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

Nginx 这里就不补充了,一般主机面板里都有手动设置的,很方便。 如果你还是不能成功,可以尝试使用这个插件 Easy HTTPS (SSL) Redirection 安装,启用后就生效,不会再重定向循环了。但是这个插件弊端太大,不建议长期使用

2、页面排版全乱了,这种情况很明显是css文件没有加载到,右键查看源代码,就能够排查了,很可能是两个url错了

3、依然是小黄锁,怎么没有可爱的小绿锁啊。F12快捷键,打开控制台,排查http的链接,主要是图片,把一些固定链接比如//liuyanzhao.com/wp-content/uploads/2017/1/logo.jpg协议改成https的,或者去掉前面的http://

4、带评论的页面小黄锁,把gravatar头像获取 设置成从官方ssl获取

5、虾米播放器hermit无法使用,可以参考这篇文章 https://liuyanzhao.com/1239.html

6、图片无法显示,这个最好排查,直接查看图片地址,看路径,然后解决。

7、百度分享不支持https,可以参考这里解决 https://liuyanzhao.com/4144.html

8、未完待续   本文地址:https://liuyanzhao.com/1139.html 转载请注明

  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:19   待审核评论数:0
  1. avatar 甘小波

    /** MySQL 主机 */ define('DB_HOST', 'localhost'); define('CONCATENATE_SCRIPTS', false); 最后在host这里添加 如下代码能正常进后台了,但是插件还有些用不了。

  2. avatar 甘小波

    $_SERVER['HTTPS'] = 'on'; 我+了这个后台的链接 都转成和https能正常显示页面,但是一登录提示“您没有足够的权限访问这个页面。” 进不了后台

  3. avatar 甘小波

    博主,我后台改了https, ftp的301也做了, 网站可以打开,但是wp的源码中的地址还是引用的http 导致后台无法进入,请问这个你知道什么情况吗?

  4. avatar waken

    您好,我用的是最新的WORDPRESS,我使用的是百度虚拟主机,按这个教程安装了SSL,可是后台显示“抱歉,您不能访问此页面。”。前台页面没有问题。请教下您这是怎么回事呢?

    • avatar 桃子皮

      同样遇到这样的问题,同为百度云,层主解决了吗?如果解决了能否指教一下?我的QQ654768484

  5. avatar 夏日草博客

    https是个大的趋势,不少站点都开启了https了。

  6. avatar 黎元

    iis使用https会有什么弊端

    • avatar 言曌

      这个我倒不清楚,我指的是 windows主机最好不要用

      • avatar 黎元

        iis会有什么弊端?设置好https之后,网站本地的图片都打不开

  7. avatar 画画家家了啊

    我用腾讯云cdn,开启强制https,网站和后台都能访问,但css等被拦截。然后我在wp缓存插件wsc开启cdn支持,site-url改为https,这时网站恢复正常,但后台的样式还是被拦截。于是我试着将常规里的域名也改为https,这是网站能访问,后台出现重定向过多。 求解,我哪里设置错了,还是说要改哪里?

    • avatar 言曌

      你先把CDN关了试试

      • avatar 画画家家了啊

        cdn关了也无法用https访问,我现在是用cdn强制跳转https和wp的ssl插件,解决了这个问题,然后css样式被浏览器拦截,我在网上找代码放在主题函数那,解决了。 但插件不是长久的办法,现在的问题是,关了插件,后台的css样式就会被浏览器拦截,不知博主有没有什么更好的办法

        • avatar 言曌

          我用的是宝塔的面板,七牛CDN,配置起来没有这么多麻烦啊。

  8. avatar 黎元

    你好,博主,iis环境怎么开启http到https的301跳转

    • avatar 言曌

      IIS的我没用过,你百度下吧

      • avatar 黎元

        百度上找了很多资料,说的都很简单,就在你网站看的这个写的挺详细的,所以就问问大神 :mrgreen:

        • avatar 言曌

          其实我还是建议你不要用iis的为妙

          • avatar 黎元

            我用的是空间,好像自己改不了

            • avatar 言曌

              去换个Linux+Apache或Nginx的空间或者云服务器

  9. avatar 微凉

    我将301重定向加到根目录,还是不能登录后台。。

    • avatar 言曌

      那就把301关掉,在数据库里两个url的http改成https,清除缓存,在wp_config.php加以下代码试试 <code> define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true); $_SERVER['HTTPS'] = 'on';</code> 试试

  10. avatar 李野

    博主你好,我用新站测试https遇到了麻烦,来请教一下,我用的是阿里云的免费云主机,前几天也是根据另一个博主的方法配置https://www.juwends.com/maga/bigworld-maga/deploy_https_summary.html,结果前台都可以正常访问,就是后台输入账号密码后显示“抱歉,您不能访问此页面。”,好像大家很少碰到这样的问题吧,我的域名是www.cnvip8.com

    • avatar wordpress

      你解决这个问题了吗? 我也是 抱歉,您不能访问此页面。都好今天了 没解决。。。

    • avatar 言曌

      一般不会遇到这个问题,推荐你使用宝塔面板,我可以帮你配置一下https。