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

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

购买和配置HTTPS

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

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

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

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

3、填写基本信息

域名备注名:随便填,自己知道就好

私钥密码:认真填写,防止以后要用到

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

4、验证域名所有权

博主这里选的是文件验证,相对麻烦点,新建文件夹和文件,将给的内容粘贴到文件中。

这里补充一下,如何新建.well-known文件夹,就是文件夹里名称第一个字符是点,如果你直接鼠标右键新建文件,或弹窗报错显示“必须键入文件名”。于是,我们可以选择在命令行下新建文件,

  1. mid .well-konwn

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

5、下载网站文件

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

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

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

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

6、上传代码

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

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

7、修改URL

然后在后台把两处url的协议改成https

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

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

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

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

问题解决

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
  • 博客交流群
  • 技术支持,问题解决
  • weinxin
言曌

发表评论

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

目前评论:37   其中:访客  20   博主  17

    • avatar 黎元

      iis使用https会有什么弊端

        • avatar 言曌  博主

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

            • avatar 黎元

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

          • avatar 画画家家了啊

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

              • avatar 言曌  博主

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

                  • avatar 花海跳舞

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

                      • avatar 言曌  博主

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

                  • avatar 黎元

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

                      • avatar 言曌  博主

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

                          • avatar 黎元

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

                              • avatar 言曌  博主

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

                                  • avatar 黎元

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

                                    • avatar 言曌  博主

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

                              • avatar 微凉

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

                                  • avatar 言曌  博主

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

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

                                  • avatar 李野

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

                                      • avatar 言曌  博主

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

                                      • avatar 博主

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

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

                                          • avatar 言曌  博主

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

                                              • avatar 博主

                                                @言曌 关键是首页都可以进,如果不启用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 言曌  博主

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

                                                      • avatar 访客

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

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

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

                                                • avatar 明月登楼

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

                                                    • avatar 言曌  博主

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

                                                    • avatar 电动石磨磨浆机

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

                                                      • avatar 热腾网

                                                        博主用的百度主机啊。

                                                          • avatar Yanzh  博主

                                                            @热腾网 是的

                                                          • avatar 老陈网志

                                                            方法不错!

                                                              • avatar Yanzh  博主

                                                                @老陈网志 多交流

                                                              • avatar JC

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

                                                                  • avatar Yanzh  博主

                                                                    @JC 欢迎多来寒舍

                                                                  • avatar 中与雨

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

                                                                      • avatar Yanzh  博主

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

                                                                      • avatar anonymous

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

                                                                          • avatar Yanzh  博主

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

                                                                          • avatar anonymous

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

                                                                              • avatar Yanzh  博主

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