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

avatar 2017年2月5日15:10:52 45 8,281 views

博主使用的是腾讯云服务器,所以索性就在腾讯云买了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. 将 https 访问强制重定向至 http,代码如下:
  7. RewriteEngine on
  8. RewriteBase /
  9. RewriteCond %{SERVER_PORT} !^80$
  10. 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
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:45   其中:访客  28   博主  17

    • avatar 甘小波 1

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

      • avatar 甘小波 1

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

        • avatar 甘小波 1

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

          • avatar waken 0

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

              • avatar 桃子皮 0

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

              • avatar 夏日草博客 0

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

                • avatar 黎元 2

                  iis使用https会有什么弊端

                    • avatar 言曌 Admin

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

                        • avatar 黎元 2

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

                      • avatar 画画家家了啊 1

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

                          • avatar 言曌 Admin

                            @画画家家了啊 你先把CDN关了试试

                              • avatar 花海跳舞 1

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

                                  • avatar 言曌 Admin

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

                              • avatar 黎元 2

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

                                  • avatar 言曌 Admin

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

                                      • avatar 黎元 2

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

                                          • avatar 言曌 Admin

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

                                              • avatar 黎元 2

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

                                                • avatar 言曌 Admin

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

                                          • avatar 微凉 2

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

                                              • avatar 言曌 Admin

                                                @微凉 那就把301关掉,在数据库里两个url的http改成https,清除缓存,在wp_config.php加以下代码试试

                                                define('FORCE_SSL_ADMIN', true);
                                                define('FORCE_SSL_LOGIN', true);
                                                $_SERVER['HTTPS'] = 'on';
                                                试试

                                              • avatar 李野 0

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

                                                  • avatar 言曌 Admin

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

                                                    • avatar wordpress 1

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

                                                    • avatar 博主 2

                                                      不错,博主有两下子!我遇到的博主都写上了,现在有一个开启HTTPS访问后台无法进入,提示将您重定向的次数过多。
                                                      尝试清除 Cookie. 我用的是WDCP面板LINUX系统,面板后台有强制SSL按钮,网上说的强制后台SSL登录也开启了,PHPMyadmin数据库的两处域名也加上了HTTPS了,但是一开启就重定向无法进来了,不强制SSL的话HTTP还是能进后台的。

                                                      博主一定遇到过吧?分析一下?

                                                        • avatar 言曌 Admin

                                                          @博主 应该还是301重定向的问题

                                                            • avatar 博主 2

                                                              @言曌 关键是首页都可以进,如果不启用HTTPS,前后后台都没问题。
                                                              .htaccess为默认内容:

                                                              # BEGIN WordPress

                                                              RewriteEngine On
                                                              RewriteBase /
                                                              RewriteRule ^index\.php$ – [L]
                                                              RewriteCond %{REQUEST_FILENAME} !-f
                                                              RewriteCond %{REQUEST_FILENAME} !-d
                                                              RewriteRule . /index.php [L]

                                                              # END WordPress

                                                              WDCP控制面板网站管理有个HTTPS控制开关,有关闭,启用,强制启用三个选项。

                                                              我的博客是:https://www.laoye.vc

                                                                • avatar 言曌 Admin

                                                                  @博主 你在.htaccess里再加一段
                                                                  RewriteEngine on
                                                                  RewriteBase /
                                                                  RewriteCond %{SERVER_PORT} !^443$
                                                                  RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
                                                                  试试,或者强制启用 试试。或者使用Easy HTTPS (SSL) Redirection插件强制https(不推荐)当然你也可以试试宝塔面板。

                                                                    • avatar 访客 2

                                                                      @言曌 这行,这样连首页都进不去了,固定循环。

                                                                      我在WDCP面板后台修改HTTPS强制登录,然后查看nginx配置文件,它是通过:
                                                                      rewrite ^(.*)$ https://$host$1 permanent;
                                                                      这行代码来控制一个网站的HTTPS启用情况的。

                                                                      不知道这行代码有没有和
                                                                      登录和后台强制开启SSL,通过修改wp-config.php文件这个冲突:
                                                                      define(‘FORCE_SSL_LOGIN’, true);
                                                                      define(‘FORCE_SSL_ADMIN’, true);

                                                              • avatar 明月登楼 4

                                                                http转https是个出力不讨好的事儿,我不建议这样!
                                                                新站倒是适合直接上SSL,但是SSL的用处真心没有宣传的那么神奇!

                                                                  • avatar 言曌 Admin

                                                                    @明月登楼 同意,谢谢明月

                                                                    • avatar yuru 1

                                                                      @明月登楼 不弄SSL会不会对 SEO 有影响?
                                                                      好像在哪看过这说法

                                                                    • avatar 电动石磨磨浆机 3

                                                                      谢谢博主分享~收藏 :smile:

                                                                      • avatar 热腾网 2

                                                                        博主用的百度主机啊。

                                                                        • avatar 老陈网志 0

                                                                          方法不错!

                                                                          • avatar JC 0

                                                                            成功解决问题,之前自己捣鼓半天还没解决,感谢

                                                                              • avatar Yanzh Admin

                                                                                @JC 欢迎多来寒舍

                                                                              • avatar 中与雨 0

                                                                                我也用的百度云BCH,感觉配置HTTPS挺简单的

                                                                                  • avatar Yanzh Admin

                                                                                    @中与雨 是很简单啊,因为当时和bos纠缠在一起,遇到了麻烦。

                                                                                  • avatar anonymous 1

                                                                                    Hermit可以检查是否是JS导致的,Hermit的JS一般都是http的。

                                                                                      • avatar Yanzh Admin

                                                                                        @anonymous 嗯,跟那个百度分享一样的

                                                                                      • avatar anonymous 1

                                                                                        最后的解决方法很简单,直接写个php图片抓取程序,然后把用户发送的图片进行全局http化处理。。。

                                                                                          • avatar Yanzh Admin

                                                                                            @anonymous 看来有大神带我飞啦 :mrgreen: :mrgreen: :mrgreen: