我有这个奇怪的问题,我不明白。 我使用EE引擎脚本在linode上使用NGINX安装wordpress博客。 这在过去运作良好。
该脚本为我的域名(我们称之为example.com)安装一个VHOST,并在/ etc / nginx / sites-available的最终结果是:
在林德设置DNS后,一切似乎工作正常。 Example.com拉起WordPress博客没有问题。 但是,在我的办公地点,NGINX会恢复到默认状态! …所以,在家里和其他地方,没有问题,而在其他一些地方(如办公室),NGINX会给我默认的index.xxx(NGINX是工作信息)。 同样的,笔记本电脑,相同的浏览器,一切,但不同的解决scheme,取决于我在哪个物理位置。
强制NGINX通过在configuration中使用default.com来使用example.com。 这是有效的,但是它不应该成为解决问题的方法,因为NGINX应该抓住域名并提供正确的网站。 我还有什么可以信任它,以便在将来设置更多网站时提供正确的页面?
文件:etc / nginx / sites-enabeled / default有以下几行:
# Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # ......
每当我发表第二条听取指令时,即:
listen [::]:80 default_server;
而我离开第一个,然后NGINX正确parsing我的域名,而/ etc / nginx / sites-enabled / default仍然是default_server。
这似乎是正确的行为,对吗?
所以,现在我想知道这是否是正确的行为,为什么是这样,如果这是一个错误或只是一个错误的configuration。
臭虫? :因为使用原始configuration(包括第二个指令),NGINX用来从我的家中正确旋转,而不是从我的工作场所位置(相同的笔记本电脑,浏览器等等)旋转。 不符
错configuration? :你告诉我为什么这样,以前只是从我的工作场所不能正确解决…
我的猜测是,您在example.com服务器configuration中没有IPv6 listen指令,但使用IPv6访问不起作用的位置的站点。
在这种情况下, listen [::]:80 default_server; 指令捕获请求,因为没有任何匹配的example.com 。 如果你删除这一行,服务器完全回退到IPv4,一切正常。
在这种情况下,正确的解决scheme是将listen [::]:80到example.com服务器节。