WordPress发布文章失败问题与解决

昨天完成这个博客的升级之后,想着不如顺便搞一搞当前这台服务器的SSL支持、利用CloudFlare提供的免费服务为当前网站开通SSL证书、并启用https协议访问的功能。

CloudFlare提供的免费证书非常容易申请,只要将域名DNS给到CloudFlare托管、便可以直接开启SSL功能。而且配置起来也很灵活、方便。用了不到20分钟,便令当前网站支持了https协议。

但是试用了一阵发现,WordPress出现了一些问题:前台文章访问、阅读等一切功能都正常,但进入后台之后,发布文章或修改文章时,会提示:Updating failed. You are probably offline。

这是因为后台发布文章时,wordpress会在服务器上直接本地调用自身的接口,而它尝试本地调用的使用也是采用https协议。但我并没有在服务器上部署证书、当初偷懒,只在CloudFlare上做了边缘证书。也就是说通过dns解析域名时,会经过cloudFlare进行中转,但在服务器上直接访问时却发现服务器实际上并未真实的支持SSL协议。

解决起来也简单:对wordpress进行一些修改,让它在进行文章发布、更新时,仍然使用http进行访问。不过这样的修改工作量其实远比做一套完整、完备的端到端证书要更加繁琐。而且同样的工作量下,这样一种“修修补补”的方式反而会给自己日后升级blog埋下隐患。

所以,既然服务器的权限完全在自己手里,又能够对apache进行各种配置、调整,就没有必要只做一个边缘证书,而是中规中矩的在CloudFlare中申请一套免费证书、并且下载到服务器上,开通apache的ssl mod,并将证书文件指定好,如此一番操作下来,彻底完成当前web server的端到端加密访问支持。

重启apache服务,一切正常,无论wordpress的前台还是后台功能,就都正常了。

后记:利用CloudFlare提供的免费证书完成服务器的ssl支持,还是非常简单、容易的。我起初对这个流程并不了解,在网上搜索他人教程,发现写的也是五花八门、迂回曲折。但自己真正的一条路走下来,发现整个过程并不复杂,现在想着自己手里还有另外一个小网站也是多年没有维护、还停留在http访问方式上。

待过些日子,对那个网站也做一下SSL的支持,到时将完整的配置过程,逐步截图留存,并写一个step by step的图文,当给同样遇此问题的朋友们参考吧。

以前上学的时候觉得所有的知识都挺容易理解的,现在也许是年龄大了,即便是对已经已经熟练掌握了的知识,再看的时候,都会感觉是“一头雾水”,唯有继续艰难的、一点点的重新理解,才能让自己感觉有所收获。

Related Posts

Blog升级到了最新版本

这个Blog很久没有更新过了,使用的WordPress也一直停留在5.1.12未曾更新,今天下定决心将它升级一下。 升级的想法我已经动过很多次,但每每想起来,就觉得麻烦。原因是这台服务器上的PHP还是5.6版本,因为WordPress的新版已经需要至少PHP7.1才能安装,所以不得不从基础环境入手,我一直觉得那可能会是非常繁重的工作。 不升级吧心里总是惦记着,升级呢又担心麻烦。今天我终于鼓起勇气,决定大刀阔斧地进行一下升级工作。结果却发现整个过程远比想象的简单,很快就都搞定了。 首先服务器的系统,重新安装了一遍。没有使用自己常用的Ubuntu,而是改用AWS推荐的Amazon Linux。我想既然是跑在AWS上的服务,用他自家的系统应该更好一些吧?而且接下来公司的一些项目可能要用到AWS的服务,提前了解一下Amazon Linux也许是必要的。 其余的LAMP模块都还是中规中矩,直接用包管理器一键安装,很快就都搞定了。 最后将老Blog部署上去,并将WordPress的最新版下载、解压、覆盖、升级,便完成了所有的工作。 以上全部,连40分钟都没到就全都完成了。早知道这么容易,早就该升级才是。 上面的WordPress升级完成之后,我想不如趁热打铁,将另外一个拖欠了很久的工作一并做了吧:给当前的博客增加支持HTTPS访问。 以前要想个人拥有一套SSL证书,是比较难的,主要是因为这个证书资源太贵了,最便宜的一年恐怕也要几百元。如果脱离证书颁发机构自己直接发行一张证书、又完全没有意义——浏览器会提示这个证书并非公信机构发行,这个警告提示一旦显示出来,会让人觉得网站是不是被黑了、效果反而更差。 如今SSL证书的获取相对就比较容易了,有一些机构为了扶持个人网站的发展,提供了免费的证书。例如cloudflare,我就用这个公司对当前博客的域名进行了托管,并且使用他提供的免费证书完成了当前网站对https访问的支持。 不过因为WordPress似乎对https访问的支持存在着一些小的问题,所以这块的工作进展并不是十分顺利,虽然现在磕磕绊绊的算是可以正常访问,但感觉其中还是或多或少存在着一些问题,只待再有时间、再完善吧。

懒汉技巧:建站常识集锦

此文写于2001年以前,并在传统报刊上发表。大约是在2001年8月11日时重新整理归入此博客,并于2024年4月14日重新整理、并重新公开。今天看来,这份“古老的”文章似乎已经毫无意义了,但这是我的“旧作”,虽毫无价值但对个人而言十分珍贵,故而收录在自己的博客中,仅供自己“回忆”使用。 2024年4月14日 做网站是很多“网虫”津津乐道的一件事情,可很多刚刚接触这一行当的朋友总会或多或少碰到些问题,这些问题说起来挺简单,可要是不说,您可能还真解决不了,因此我将自己当初所遇到的若干问题做了一下整理,希望能够给各位身陷水深火热中的兄弟些许帮助。 1、Perl程序不能运行 如果您发现自己申请的个人主页空间支持Perl程序,而上传了代码又无法被执行,这可能有两个原因: 第一个原因是空间提供商对CGI程序的存放路径有特殊要求,比如您的代码必须上传到/home/cgi-bin目录中、才能被当成脚本程序被执行,具体目录要向空间提供商询问、或看他们的帮助说明中是否有专门的说明。 另外还有一个原因,就是您自己的cgi程序解释器路径没有设置正确。用文本编辑器打开程序代码,在程序的开始部分有一条类似#!/usr/bin/perl的代码,其中/usr/bin/perl根据不同空间提供商可能会有所不同,因此您仍然要仔细查阅空间提供商的操作指引或人工问询。 2、图片显示不正常 当您的网站制作完毕并上传到服务器上之后,您发现它的浏览效果与自己在本地的浏览效果不一样,主页上的一些图片无法正常显示,就好像是经过了马赛克处理——只在图片的左上角有个小小的图标而近乎空白。造成这一现象的原因是您的上传方式有问题。我们知道jpeg、gif等图片都是二进制的储存格式,而一旦我们用ascii方式上传这些图片,就会造成数据丢失,导致这一结果。 如果您用的是cuteftp等软件,在链接服务器的时候有一个选项,其内容是ascii、bin、auto detect,选择其中的auto detect连接,这样当遇到图片或者zip包的时候,软件就会自动改用二进制格式上传文件。如果您使用win9x自提供的ftp命令,则可以在上传二进制文件之前输入命令bin更改上传方式,待上传文本格式文件的时候在用ascii命令进行更改。 3、字体显示不正常 当您正在用浏览器在家欣赏自己做的主页的时候,会不会有朋友打来电话对您说:“啊呀,你的主页做的是‘神马’东西呀?” 您的朋友也许会奚落您,觉得您的审美有问题——网页上的字体都很呆滞,而您又会申辩字体都是“魏碑”,非常精美。 这个问题主要是因为您电脑中拥有的某些字体字库文件、在朋友电脑中并不存在。当浏览器识别到本地不存在的字体时,就会改用系统默认字体显示。因此您费心费力做出来的页面在其他人看来,也许是非常难看的。 这一问题的解决有两种方案:首先您可以看一下刚刚安装完系统的电脑中所拥有的字体,并在以后制作网页时尽量使用这些基本字体,如果需要特殊字体,可以制作成图形。或者您也可以将自己的字库文件放到网站服务器上,以供需要的朋友进行下载。 4、软件无法下载 当初,我经常遇到这样一个问题:看到下载站点有好的程序就下载,可其中或多或少有一些无法正常下载,寻找原因,原来是自己的系统中安装了网络防护软件,而不能下载的文件是exe可执行文件,遇到zip、rar等压缩包时可以正常下载、但如果想直接对exe文件进行下载,防护软件会直接阻止或中断下载过程。 因此建议各位准备做软件下载网站的朋友,将exe文件压缩成zip文件包,这样既可以方便我们这些系统中安装了防护软件的人,又可以减小软件体积、节省软件下载时间和带宽。当然这样做也会节省您的上传耗时和宝贵的带宽资源。 5、asp程序无法正常运行 看到这里,您也许会说:“哦,这和上面的Perl程序无法正常运行是一个原因”,呵呵,那您可就错啦。asp程序运行不需要声明什么解释器路径,可是因为其存在安全问题和占用资源问题,因此提供asp权限的空间提供商都会对其进行权限限制。 因此如果您的asp程序是牵扯到文件操作的,例如数据库,可能就会被提供商限制无法运行。另外现在国内很多主页空间提供商对聊天程序也进行了限制,这样就无法运行了。 解决也好办,直接到国外申请一个可以运行的就好啦。 6、无法进行ftp登陆 如果您无法进行ftp登陆,请先确认自己以前能不能进行此项操作:如果以前明明可以正常登陆而最近突然无法连接了,有可能是您的空间提供上设置了ftp登陆上限,而某些时候这个上限达到了饱和值,您就无法登陆了。 如果您从一开始就无法登陆,您需要重新阅读空间提供商给您的帮助说明,看看提供商到底提供ftp登陆了没有,而且要看提供给您的ftp登陆地址是什么。因为有的主页空间提供商并不会给您ftp权限,而是要直接用浏览器进行文件的上传和修改工作。…