如果使用电信网络(电信宽带),有动态的外网IP,也就是说有外网IP,但是不固定。这种情况下,关于群晖NAS外网域名访问,网上已经有很多介绍了,大家可以网上查阅。如果群晖NAS已经配置可以外网域名访问了,在使用wordpress的时候还是会有很多问题,本文解决wordpress使用中的常见2个问题:

一、如果由于域名失效或者被劫持,无法访问wordpress(包括管理端)如何解决?

需要说明的是,本来是没有这个问题的,但是使用电信的宽带,首先80和443端口是不开放的,这就要求我们必须通过端口转发能够访问到80或者443。这个在路由器上设置就可以,比较就按单,最麻烦的就是,如果使用群晖自带的二级域名访问NAS,电信过一段时间(特别是广东地区)就会把这个域名劫持解析到127.0.0.1,导致wordpress无法访问。电话咨询过群晖,群晖的答复是暂时没有办法,只能重新更换一个域名。

这个时候问题来了,原来的域名已经不能访问了,但是原来的域名已经配置在wordpress参数中了,这样就导致了即便新申请了域名,也无法访问、管理wordpress了。最直接也是最根本的办法就是直接更改数据库中的参数。这个参数可以通过phpmyadmin管理页面进行更改。因为phpmyadmin数据库管理页面并没有限制访问的具体域名。因为wordpress一定要设置这个访问域名,内部一些处理文章等必须要明确知道这个域名。总之,phpmyadmin是可以使用新域名立即访问的。

于是使用新域名访问phpmyadmin:http://xxxx.xx:端口号/phpmyadmin




群晖普通用户无法使用docker 群晖无法访问_wordpress


登录后,更改wp_options表中的siteurl 和 home


群晖普通用户无法使用docker 群晖无法访问_网络_02


这样就可以使用新的域名通过外网访问wordpress了。遗憾的事,这样的事可能过一段时间就需要做一次,因为电信会过一段时间屏蔽一次群晖的二级域名。

二、经过上面一步,虽然wordpress博客可以访问了,可是有些图片或者下载失效了?

这个原因也是因为更新了新域名,导致原来的一些图片或者下载链接使用的是旧的域名链接,这样自然就失效了。解决的办法:

  1. 博客文章中包括三方插件(例如下载)等使用的域名链接的,都一个一个更改,这样工作量比较大,容易遗漏;
  2. 使用SQL语句,直接在MariaDB数据库中修改,还是使用上面的 phpmyadmin 。
  3. 更新wordpress访问地址:
UPDATE wp_options SET option_value = replace( option_value, 'http://www.old.com', 'http://www.new.com' ) WHERE option_name = 'home' OR option_name = 'siteurl';
  1. 更新博客内容中涉及的地址:
UPDATE wp_posts SET post_content = replace( post_content, 'http://www.Old.com', 'http://www.net.com' ) ;
UPDATE wp_posts SET guid = replace( guid, 'http://www.Old.com', 'http://www.new.com' ) ;
--更新下载
UPDATE wp_sdm_downloads SET file_url = replace( file_url, 'http://www.old.com', 'http://www.new.com'), referrer_url = replace( referrer_url, 'http://www.old.com', 'http://www.new.com') 
--如果有其他的三方使用的表,下面继续增加即可

如果还有什么地方用到访问网址,也可以继续使用上面相似的SQL来统一更改。

三、网上说的DNS劫持,存在一个很奇怪的现象

比如我的NAS域名为:xxxx.myds.me,当发生所谓的DNS劫持现象后:

如果我在和NAS相同的内网ping或者nslookup这个域名,始终指向127.0.0.1这个地址,可是如果我在腾讯云服务器上ping 或者nslookup这个域名,指向的地址是我NAS的正确的外网地址。按道理说外网应该能够访问,事实上外网通过被劫持的域名xxxx.myds.me使用群晖默认5000端口或者5001端口确实能访问群晖NAS(管理端),可是对于wordpress就不能正确访问了。那这么说是电信劫持了DNS是不是也说不通?

相同内网nslookup:windows上


群晖普通用户无法使用docker 群晖无法访问_群晖普通用户无法使用docker_03


相同内网nslookup:Mac上


群晖普通用户无法使用docker 群晖无法访问_wordpress_04


在腾讯云服务器上:


群晖普通用户无法使用docker 群晖无法访问_群晖NAS_05


这个现象有知道原因的朋友请留言!