好吧,我用这个把头发扯掉了。当有人让我知道明显的(但不是对我来说)答案时,希望能面对手掌。
我在 https://example.com有一个 运行 apache、SSL 和 php5.5 的工作站点。我想换成nginx,更新到php7.0。我害怕通过尝试在生产服务器上切换/升级来杀死我的网站 - 特别是 php5.5 到 php7.0 的升级,我知道这可能很麻烦。
所以我设置了一个全新的服务器,Ubuntu 16.04,nginx,php 7.0,安装了 Wordpress,设置了我的 nginx/sites-available,创建了 mysite.conf,将其符号链接到启用了站点,设置了我的 php-fpm conf 文件,所有的好东西。想要在我更新 A 记录等以将域名指向新服务器之前让一切变得完美。
当我将 mysite.conf 配置为
server_name my_IP_address
一切安好。(当然,除了所有的图片都是从旧网站引入的,所有的帖子链接也都指向那里,这是有道理的。)
因此,显而易见的下一步是将我的本地主机文件指向新站点,使用正确的域名,这样我就可以测试一切,让所有那些讨厌的插件和缓存工作,等等。
但是,当我将我的 OS X /etc/hosts 文件设置为:
my_IP_address example.com
并将 mysite.conf 文件更改为
server_name example.com
我仍然去“旧”网站。
如果我做
ping example.com
在我的 Mac 上,它成功显示我正在 ping 新服务器。
但是,如果我将我的 /etc/hosts 文件更改为以下愚蠢的东西:
my_IP_address fooexample.com
并将 mysite.conf 更改为
server_name fooexample.com
这也有效!
到底他妈发生了什么?这是 SSL 问题吗?我是否需要将我的证书从旧站点转移到新站点并首先让 https 工作?还是我忽略了一些明显而愚蠢的事情?(大概)
提前感谢您的帮助!