0x01 前言

我网站的域名从原来的proj.org.cn更换为现在的enginx.uk,依旧使用开源SSL项目Let’s Encrypt的数字证书提供HTTPS服务,而整个更改域名的过程仅仅用了不到10分钟。

0x02 准备

在正式切换域名之前要完成以下准备工作:

  1. 配置新域名的DNS指向
  2. 创建新域名的数字证书
  3. 创建新域名的nginx配置文件
  4. 创建新域名的apache配置文件
  5. 创建新域名的PHP配置文件
  6. 安装域名切换插件

0x03 实操

0x03.1 DNS

我使用DNSPod提供的免费DNS解析服务。首先需要在域名服务商处将DNS服务器更改为DNSPod的服务器:

修改DNS服务器的生效时间从10分钟到24小时不等,而我修改之后大概10分钟就生效了。然后添加DNS记录:

DNSPoD生效的速度还是挺快的,稍等几秒后通过dig命令即可查询是否生效:

0x03.2 数字证书

数字证书我用的是Let’s Encrypt所签发的数字证书,在这篇文章里不涉及相关的内容。但如果你觉得这比较麻烦,可以尝试使用encryption everywhere的免费项目,可以获的由symantec签发的一年有效期的数字证书。

相对于Let’s Encrypt 90天有效期来说,一年期更有吸引力。这两个免费的项目都不支持签发泛域名数字证书,而且encryption everywhere项目仅支持单域名,如果你需要一张多域名(SAN SSL)数字证书,那么Let’s Encrypt是首选。

0x03.3 配置文件

我只需要将原来的配置文件复制一份并且修改域名即可完成对nginx的配置,因为nginx是作为前端服务器,所以修改完成后reload也不会对正在运行的网站有所影响。

要确认server_name、证书路径、root路径正确,确认无误后即可reload nginx服务:

apache和PHP的操作方法和nginx一致,这里不再叙述。但不要急着重启apache和PHP服务!先进行下一步操作。

0x03.4 插件

以前使用Wordpress的时候如果需要更换域名,我需要对数据库进行操作。但现在通过插件即可完成所以域名的替换。推荐使用以下插件:

Automatic Domain Changer

安装完毕后在工具>change domain中修改:

一旦通过插件更换域名完毕后,即可重启apache和PHP服务。

0x04 其他

如果你和我一样使用WP Super Cache和Wordfence Security,那么你还需要注意以下内容:

因为Wordfence Security的需要,还需要修改php.ini文件:

还有很重要的一点,因为修改了域名,那我们肯定不想访客和搜索引擎的爬虫通过旧域名访问时返还404或403。为此我们需要修改旧的nginx配置文件,将从旧域名进入的访客重定向至新域名:

完成后重新加载nginx即可:

0x05 结语

一切顺利的话,10分钟即可完成域名的更换操作。

评论提交需几秒钟,请耐心等待 / comments submit takes few seconds, please be patient

请输入留言 / Please enter a message
请输入你的称呼 / Please enter your name

输入前先刷新 / refresh before entering